这篇文章将为大家详细讲解有关如何在复述中使用互换空间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
,,互换空间对于操作系统来说比较重要,当我们使用操作系统的时候,如果系统内存不足,常常会将一部分内存数据页进行交换操作,以解决临时的内存困境.swap空间由磁盘提供,对于高并发场景下,互换空间的使用会严重降低系统性能,因为它引入了磁盘IO操作。
,,在Linux中,提供了免费命令来查询操作系统的内存使用情况,免费命令的结果中也包含了交换相关的情况,例如下面的结果中:
[root@VM-0-14-centos ~] #, free ht ,,,,,,total ,,, used ,,, free ,, shared 迷/cache 可用 Mem:,,,,,, 1.8 g ,,, 1.3 g ,,,, 72 m ,,, 692 k ,,, 433 m ,, 283 交换:,,,,,,0 b ,,,, 0 b ,,, 0 b 总:,,,,,1.8 g ,,, 1.3 g ,,,, 72
我们可以看到交换的值都是0,说明当前的内存是没有配置互换空间的,目前的操作系统的内存是足够的,通常情况下交换一行的列使用应该是0 b比较好,它证明你的操作系统内存充足,没有发生互换空间的交换操作。
实时查看交换的使用
Linux中还为我们封装了vmstat这个命令来查看系统的相关性能指标,其中也包含互换空间,其中和交换有关的指标是si和因此,分别代表换入和换出,我们看看vmstat的执行结果:
[root@VM-0-14-centos ~] #, vmstat procs - - - - - - - - - - -记忆- - - - - - - - - - -,-交换-,- - - - - - io - - - - -, cpu系统-,- - - - - - - - - - - - ,r b swpd , free , buff cache , si , so , bi , bo ,拷贝,cs us sy id wa 圣 ,4 0,,,0,73712,84464,362016,,0,,0,,,7,,26岁,,7,,1,1,1,98,0,0
查看执行进程占用交换的情况
在Linux操作系统中,/proc/pid/smap这个文件记录了当前进程所对应的内存映像信息,这个信息对于查询指定进程的交换使用情况很有帮助。下面以一个复述,实例进行说明:
[root@VM-0-14-centos ~] #, ps ef | grep redis , root ,, 1711,,, 1, 0, Jul20 ?,,,, 00:20:15 src/redis-server 127.0.0.1:21243 root ,, 2370,,, 1, 0, Jul20 ?,,,, 00:20:18 src/redis-server 127.0.0.1:21244 root ,, 2371,,, 1, 0, Jul20 ?,,,, 00:20:13 src/redis-server 127.0.0.1:21263 root ,, 7815, 5781, 0, 23:39 pts/3,, 00:00:00 grep ——颜色=auto 复述 root ,, 14804,,, 1, 0, Jul20 ?,,,, 00:20:39 redis-server *: 6379 我们以这14804个复述,进程为例 (root@VM-0-14-centos ~) #, cat /proc/14804/smaps | grep 交换 交换:,,,,,,,,,0,kB 交换:,,,,,,,,,0,kB 交换:,,,,,,,,,0,kB ..... 交换:,,,,,,,,,0,kB 交换:,,,,,,,,,0,kB 交换:,,,,,,,,,0,kB
通常情况下,Linux服务器不会等到所有物理内存都被使用完再使用互换空间,它引入swapiness这个变量来决定操作系统使用互换空间的倾向程度,它的取值是0 ~ 100,值越大,表示操作系统使用交换的可能性越高,反之则越低.swapiness变量值存在于系统配置文件/proc/sys/vm/swappiness和/etc/sysctl。会议中,其前面的文件在重启之后,就失效了,只有将这个值写入后面的文件,才能长久的保存下去。
[root@VM-0-14-centos ~] #, cat /proc/sys/vm/swappiness 30
写入/etc/sysctl。配置的方法如下:
echo vm.swappiness={value},在祝辞,/etc/sysctl.conf
复述,在不同版本下,对于swapiness的建议配置也不一样,通常情况下,swapness的值可以设置为:0,1,60100这几个。
其中:
设置为60是默认值,
设置为100则操作系统会主动使用互换空间,
设置成为0的话,在Linux3.4以及更早的Linux版本中,内存不够时,倾向使用交换而不是伯父杀手,在Linux3.5以及之后的版本中,倾向使用伯父杀手而不是互换空间
设置为1的话,在Linux3.5以及后续版本中,内存不够用的时候,倾向于使用互换空间,而不是伯父杀手
关于如何在复述中使用互换空间就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。