LInux下的交换分区以及相关查看命令

您所在的位置:网站首页 linux交换分区的功能是什么 LInux下的交换分区以及相关查看命令

LInux下的交换分区以及相关查看命令

2024-07-16 14:55| 来源: 网络整理| 查看: 265

linux下SWAP为交换分区,也就是虚拟内存;

当linux系统的物理内存不够的时候,就需要将物理内存中的一些东西释放出来,以供当前程序使用;

那些被释放的空间可能来自于一些很长没有什么操作的程序,被释放出来的空间中保存的内容就会被临时放入swap中;

等到那些程序要运行时,再从swap中恢复保存的数据。

具体swap分区的大小设置问题参考Linux交换分区设置多大为好?

如何查看系统的swap分区?

1. 使用free命令;用以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

-b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列; -s:持续观察内存使用状况; -t:显示内存总和列; -V:显示版本信息。

一般比较常用的是free -m, 执行结果如下:

      total   used    free    shared    buff/cache   available Mem:   7865   3025    203     754        4636        3775 Swap:  17578  60     17518

因为是以MB为单位,可以看到我这里的纵内存是8GB,已经使用的是3GB左右,free表示物理内存中剩余的实际空间,而available则包含了缓存或缓冲区域的内存,大致计算就是free+buff/cache, 因此,available都比free要大很多。shared表示当前已经废弃不用的内存。第二行swap表示交换分区中的内存情况。

这里简单总结一下buffer和cache的区别,想要详细了解的可以参考这篇文章:buffer和cache怎么让你们解释的那么难理解?简单来讲,buffer一个是缓冲,cache是缓存。因为硬件上的区别,在电脑内部信息交换的时候就存在速度的快慢问题,有的设备快有的设备慢。那么为了提高效率,就需要设置一个专门的区域来对两个快慢不一致的区域进行交流。buffer为当传输速度较快的设备向传输较慢的设备进行数据传输时,可以现将内存放置在buffer中,这样就无需等待慢设备,而慢设备也可以在需要数据时随时从buffer中拿; 同理,当慢设备向快设备进行数据输送时,由于其速度太慢,快设备就需要等,但是如果有cache,就可以在第一次传输时就将数据放在cache中,等到第二次第三次需要同样的内容时就可以更快。

2. top命令也可以实时动态地查看系统的整体运行情况。

使用方法为top (选项), 具体的参考选项如下:

-b:以批处理模式操作; -c:显示完整的治命令; -d:屏幕刷新间隔时间; -I:忽略失效过程; -s:保密模式; -S:累积模式; -i:设置间隔时间; -u:指定用户名; -p:指定进程; -n:循环显示的次数。

常见的如: top -d 1 ,即为每1s刷新一下数据,显示内存的实时使用情况。可以用在debug时观察线程的占用内存情况等等。

实例:

top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached

主要内容解释如下:

Tasks: 145 total[总进程数], 2 running[正在运行的进程数], Cpu(s): 99.8%us[用户空间占用CPU百分比], 0.1%sy[内核空间占用CPU百分比], 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比], 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比], Mem: 4147888k total[物理内存总量], 2493092k used[使用的物理内存总量], 1654796k free[空闲内存总量], 158188k buffers[用作内核缓存的内存量] Swap: 5144568k total[交换区总量], 56k used[使用的交换区总量], 5144512k free[空闲交换区总量], 2013180k cached[缓冲的交换区总量],

更多linux命令解释可以参考linux命令大全



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3