swap是内存的交换区;换句话说,如果内存不够用了,那么系统会在硬盘上存储一些内存中不常用的数据,之后将这部分数据在存储中析构掉;这样内存就又有剩余空间可以运行东东啦,这个过程也就是所谓的交换,存储数据的硬盘部分就是swap分区。 装系统的时候可能会将swap大小设置的不合适 但是swap的大小不正确,很影响服务器的性能。下面说说怎么修改swap分区的大小。
1、查看系统Swap空间使用
1 | [root@localhost mapper]# free -m |
2、创建swap文件
1 | [root@localhost mapper]# cd /usr |
(注意:if 表示 infile,of 表示outfile,bs=1024 表示写入的每个块的大小为1024B=1KB(1024B字节=1024*8bit位)
3、查看创建文件的大小
1 | [root@localhost swap]# du -sh /usr/swap/swapfile1 |
4、将目标文件设置为swap分区文件
1 | [root@localhost swap]# mkswap /usr/swap/swapfile1 |
5、激活swap,立即启用交换分区文件
1 | [root@localhost swap]# swapon /usr/swap/swapfile1 |
6、若要想使开机时自启用,则需修改文件/etc/fstab中的swap行
1 | [root@localhost swap]# vi /etc/fstab |
7、回收swap空间
如果不再使用,可以卸载该swap空间
1 | swapoff /var/swap |
8、从文件系统中回收
1 | rm -rf /var/swap |
9、查看某个进程使用的虚拟内存大小
1 | cat /proc/26080/stat | awk -F" " '{print "virt:"$23}' |
ps aux:
其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存。
RSS列 表示, 程序占用了多少物理内存。
虚拟内存可以不用考虑,它并不占用实际物理内存。
(2). top 命令也可以
其中 VIRT(或VSS)列 表示,程序占用了多少虚拟内存。 同 ps aux 中的 VSZ列
RES列 表示, 程序占用了多少物理内存。同 ps aux 中的RSS列