linux下的swap分区

简介:

一、什么叫swap分区

    swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。


二、swap配置对性能的影响

    Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。但是分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。

    如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程)如果系统物理内存不够用,网站打开会很慢,ping可能会丢包,延迟很大;如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。


三、swap分区的划分规则

    在linux中,我们对swap分区的划分有一定的规则,当物理内存小于2G时,swap分区大小为物理内存的2倍;超过2G的部分,swap分区大小跟物理内存相等。

公式如下:x代表物理内存,y代表swap分区

    当x<2G 时,y=2x;

    当2G<x<32G 时,y=4+(x-2);

    当x>=32G 时,y<=x;


例:当物理内存为4G的时候,swap为6G;当物理内存大于32G的时候,swap分区小于等于物理内存比较好。

附:规则不是一成不变的,所谓swap分区的划分没必要太过于死板,这里所说的规则仅供参考。


四、内存的查看

1、free -m

    -m已兆为单位查看

2、swapon -s 

    查看swap的状态,已用和未用资源的大小。

3、top

    动态查看,但是使用top命令时资源消耗比较大

   top -p pid 查看某个进程的资源使用情况

其他:P:按%CPU使用率排行
      T:按MITE+排行
  M:按%MEM排行

4、pamp 查看进程的内存映像信息

    pmap -d pid

[root@xujunxian /]# pmap -d 1 | tail

00b7c000       4 rw--- 0000000000024000 0fd:00000 init

00efc000       4 r-x-- 0000000000000000 000:00000   [ anon ]

00f54000      36 r-x-- 0000000000000000 0fd:00000 libnih-dbus.so.1.0.0

00f5d000       4 r---- 0000000000008000 0fd:00000 libnih-dbus.so.1.0.0

00f5e000       4 rw--- 0000000000009000 0fd:00000 libnih-dbus.so.1.0.0

01abd000     132 rw--- 0000000000000000 000:00000   [ anon ]

b76fe000      12 rw--- 0000000000000000 000:00000   [ anon ]

b770f000       4 rw--- 0000000000000000 000:00000   [ anon ]

bfb59000      84 rw--- 0000000000000000 000:00000   [ stack ]

mapped: 2896K    writeable/private: 292K    shared: 0K



最后一行的值,mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz;writeable/private  表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小  ;    
shared 表示进程和其他进程共享的内存大小。




      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1542985,如需转载请自行联系原作者




相关文章
|
Linux Shell C语言
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
224 1
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
174 1
|
监控 Linux Shell
【Shell 命令集合 磁盘维护 】Linux 交换分区的特殊文件或设备 swapon命令使用指南
【Shell 命令集合 磁盘维护 】Linux 交换分区的特殊文件或设备 swapon命令使用指南
244 1
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
309 0
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
存储 Linux 5G
linux操作系统初始化后,再也不用手动分区了
linux操作系统初始化后,再也不用手动分区了
100 0
在Linux中,如何创建一个分区?
在Linux中,如何创建一个分区?
|
Linux 开发工具
在Linux中,如何创建一个新的分区并格式化为EXT4文件系统?
在Linux中,如何创建一个新的分区并格式化为EXT4文件系统?
|
存储 Linux 网络安全
蓝易云 - 解决Linux报错:Swap file “xxxxxx.swp“ already exists
这将会把所有的.swp文件保存在/tmp目录下,这样即使系统崩溃,/tmp目录在下次启动时会被清空,从而避免了.swp文件的冲突。
301 2
|
Linux Shell 虚拟化
开机自动挂载NTFS分区至Linux:分步指南
在Linux中自动挂载Windows NTFS分区,需创建挂载点(如`/media/c_win`),识别分区(如`/dev/sda1`),获取UUID,并编辑`fstab`文件添加挂载信息。推荐使用UUID以保持稳定性。在VMware环境中可能需添加`force`选项。完成这些步骤后,重启系统,NTFS分区将自动挂载。这对于双系统用户非常方便。
1389 1