共 1 篇文章

标签:Linux Swap 空间使用率管理:优化系统性能! (linux中swap使用率)

Linux Swap 空间使用率管理:优化系统性能! (linux中swap使用率)

在Linux系统中,Swap(交换空间)被用作一种虚拟内存技术,其可以将部分内存空间移动到硬盘(磁盘分区)上,以释放出内存。Swap的出现主要是为了解决物理内存不足时系统的故障问题。当然,如果我们能够合理、有效地使用Swap,还可以进一步提高系统的运行性能。 本文将介绍Linux Swap空间的基本概念和使用方法,以及如何利用Swap优化系统性能。我们需要了解Linux系统中Swap空间的使用情况。 1. Swap空间的分配和使用 Swap空间是在硬盘(磁盘分区)上分配的一块区域,它的大小一般是物理内存的两倍,但有时也可以自定义。Swap空间的分配和使用可以由系统自动处理,也可以手动设置。以下是一些常用的Swap命令: ① free free命令用于显示系统内存的使用情况,包括物理内存和Swap空间的使用情况。执行命令后,可以看到系统物理内存的总容量、已使用的内存、剩余内存,以及Swap空间总容量、已使用的空间、剩余空间等信息。 示例:free -m total used free shared buff/cache avlable Mem: 7963 844 5683 18 1435 6719 Swap: 2023 0 2023 其中,-m参数用于将输出的内存单位设置为MB。 ② swapon swapon命令用于启用Swap分区或文件。执行命令后,可以看到Swap空间的状态以及Swap分区的路径。如果需要使用文件作为Swap空间,则需要提供文件路径和文件大小。 示例1:swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2023996 0 -1 示例2:swapon /root/swapfile 其中,-s参数用于显示Swap空间的状态;/root/swapfile为Swap文件的路径。 ③ swapoff swapoff命令用于禁用Swap分区或文件。执行命令后,Swap分区将被卸载,Swap文件将被删除。 示例1:swapoff -a 示例2:swapoff /root/swapfile 其中,-a参数用于禁用所有Swap分区。 2. Swap空间的优化 Swap空间是Linux系统中重要的一部分,但如果使用不当,就会影响系统的性能和稳定性。以下是一些常用的Swap优化方法: ① 合理配置Swap空间 Swap空间的大小应该根据系统的需求来设置。如果设置过小,可能导致系统出现OOM(Out Of Memory)错误;如果设置过大,可能浪费硬盘空间,影响系统性能。一般来说,Swap空间大小与物理内存大小比例为2:1或4:1较为合适。如果系统中存在大量的I/O操作或内存泄漏情况,则还需要适当增加Swap空间容量。 ② 选择快速的存储设备 Swap空间位于硬盘上,因此选择读写速度较快的存储设备可以提高Swap空间的读写性能。建议在SSD硬盘上分配Swap分区。 ③ 避免Swap过度使用 由于Swap空间是从硬盘上读写数据,所以其速度要比物理内存慢很多。如果系统中存在大量的I/O操作或过多的Swap使用,就会导致系统性能下降甚至崩溃。因此,我们需要尽可能避免过度使用Swap空间。 ④ 禁用Swap分区或文件 在一些低内存、轻负载的系统中,可以考虑关闭Swap分区或文件以提高系统的运行速度。但在高内存、重负载的系统中,禁用Swap空间可能会导致系统出现OOM错误。因此,需要考虑系统实际情况来进行决策。 ⑤ 使用Swapless技术 Swapless技术是一种新型的无Swap虚拟内存技术,其可以在不使用硬盘作为虚拟内存的情况下,提高系统的性能和稳定性。Swapless技术通常应用于高性能计算领域和云计算领域。 结论 Linux Swap空间的使用和优化是系统管理员必须掌握的技能之一。合理使用Swap空间可以有效提高系统性能,但如果使用不当,就会导致系统的性能下降或崩溃。因此,我们需要充分了解Swap空间的特点和使用方法,并根据系统实际情况进行配置和优化,以提高系统的稳定性和运行效率。 相关问题拓展阅读: 命令查看Linux服务器内存、CPU、显卡、硬盘使用情况 linux查看内存使用情况 命令查看Linux服务器内存、CPU、显卡、硬盘使用情况 大致结果类似下图: Mem行(单位均为M): (-/+ buffers/cache)行: Swap行指交换分区。 实际上不乱禅要看free少就觉得内存不足了,buffers和cached都是可以在使用内存时拿来用的,应该以(-/+ buffers/cache)行的free和used来看。只要没发现swap的使用,就不用太担心,如果swap用了很多,那就要考虑增加物理内存了。 大致结果类似下图: 上方文字部分的红框为总的CPU占用百分率,下方哗运尘的表格是每个进程的CPU占用率,在表格之一行可以看到红框中占用率超过了150%,这是因为服务器是多核CPU,而该进程使用了多核。 大致结果类似下图: 表格中会显示悄颤显卡的一些信息,之一行是版本信息,第二行是标题栏,第三行就是具体的显卡信息了,如果有多个显卡,会有多行,每一行的信息值对应标题栏对应位置的信息。 需要注意的一点是显存占用率和GPU占用率是两个不一样的东西,类似于内存和CPU,两个指标的占用率不一定是互相对应的。 在下面就是每个进程使用的GPU情况了。 大致结果如下图: 表格中每一行代表一个文件系统,各列意义如下: 要查看具体某个文件或者文件夹的大小的话,可以使用下面的命令: du命令可以查看文件或文件夹的磁盘使用空间,而-h参数的意思是使用GB、MB等易读的格式。如果不带–max-depth参数,那么将循环列出文件夹下所有文件和文件夹占用的空间,带此参数,则是指定深入目录的层数。 如果要看文件夹下所有文件的大小,可以使用*: 查看作者首页 linux查看内存使用情况 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 可以直接使用top命令后,查看%MEM的内容,可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令$top-uoracle。 内容解释PID进程的ID,USER进程所有者,PR进程的优先级别,越小越优先被执行,NInice值,VIRT进程占用的虚拟内存,RES进程占用的物理内存,SHR进程使用的共享内存,S进程的状态,S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数。 %CPU进程占用CPU的使用率,%MEM进程使用的物理内存和总内存的百分比,TIME+该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值,COMMAND进程启动命令名称。 在命令行中输入top,即可启动top,top的全屏对话模式可分为3部分系统信息栏、命令输入栏、进程列表栏。 之一部分最上部的系统信息栏,之一行top00:11:04为系统当前时刻,3:35为系统启动后到现在的运作时间,2users为当前登录到系统的用户,更确切的说是登录到用户的终端数–同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目。 loadaverage为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值带宏汪超过CPU数目时,CPU将比较吃力的负载当前系统所包含的进程。 第二行Tasks,59total为当前系统进程总数,1running为当前运行中的进程数,58sleeping为当前处于等待状态中的进程数,0stoped为被停蠢仔止的系统进程数,0zombie为被复原的进程数。 第三行Cpus,分别表示了CPU当前的使用率,第四行Mem分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量,第五行Swap表示类别同第四行Mem,但此处反映着交换分区Swap的使用情况,通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。 第二部分中间部分的内部命令提示栏top运行中可以通过top的内部命令对进程的显示方式进行控制,内部命令如下表,s改变画面更新频率,l关闭或开启之一部分之一行top信息的表示,t关闭或开启之一部分第二行Tasks和第三行Cpus信息的表示,m关闭或开启之一部分第四行Mem和第五绝旁行Swap信息的表示。 N以PID的大小的顺序排列表示进程列表第三部分后述,P以CPU占用率大小的顺序排列进程列表第三部分后述,M以内存占用率大小的顺序排列进程列表第三部分后述,h显示帮助,n设置在进程列表所显示进程的数量,q退出top,s改变画面更新周期。 第三部分最下部分的进程列表栏以PID区分的进程列表将根据所设定的画面更新时间定期的更新,通过top内部命令可以控制此处的显示方式pmap可以根据进程查看进程相关信息占用的内存情况,进程号可以通过ps查看如下所示$pmap-d5647。 ps如下例所示$ps-e-o’pid,comm,args,pcpu,rsz,vsz,stime,user,uid’其中rsz是是实际内存,$ps-e-o’pid,comm,args,pcpu,rsz,vsz,stime,user,uid’|greporacle|sort-nrk,其中rsz为实际内存,上例实现按内存排序,由大到小。 在Linux下查看内存我们一般用free命令#free,totalusedfreesharedbufferscached,Mem:68236,-/+buffers/cache:,Swap:68116。 下面是对这些数值的解释total总计物理内存的大小,used已使用多大,free可用有多少,Shared多个进程共享的内存总额,Buffers/cached:磁盘缓存的大小,第三行-/+buffers/cached,used已使用多大,free:可用有多少。 Linux的特点 Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统,Linux也是自由软件和开放源代码软件发展中最著名的例子,只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。 大多数Linux系统还包括了像提供GUI界面的X...

技术分享