如何在复述中使用互换空间

  介绍

这篇文章将为大家详细讲解有关如何在复述中使用互换空间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

,,互换空间对于操作系统来说比较重要,当我们使用操作系统的时候,如果系统内存不足,常常会将一部分内存数据页进行交换操作,以解决临时的内存困境.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以及后续版本中,内存不够用的时候,倾向于使用互换空间,而不是伯父杀手

关于如何在复述中使用互换空间就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

如何在复述中使用互换空间