linux 查看占用swap的程序 linux中swap分区属于主分区还是扩展分区?

[更新]
·
·
分类:互联网
4062 阅读

linux 查看占用swap的程序

linux中swap分区属于主分区还是扩展分区?

linux中swap分区属于主分区还是扩展分区?

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。它是一段连续的磁盘空间,并且对用户不可见。在分区中一般将Swap分区定为主分区而不是扩展分区。

Boot / swap三个LINUX分区是什么含义?

/是根目录:所有的目录都挂在根目录下 BOOT是启动分区:引导文件,内核和启动文件都在BOOT中 SWAP分区就相当于WINDOWS下的虚拟内存一样

deepin swap是什么?

linux交换分区即是linux的SWAP分区,SWAP分区是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。

linux swap分区是什么?

linux swap分区是linux交换分区:
1.如果linux系统物理内存不够用了,系统会用swap分区;
2.如果物理内存不够用了,系统会把物理内存里的访问频率低的内存对象移动到swap里,再在物理内存里产生新的连接指向swap里的那个对象;

linux下的SWAP主要是什么作用?

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.需要注意的是,虽然这个SWAP分区能够作为虚拟的内存,但它的速度比物理内存可是慢多了,因此如果楼主您需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存.SWAP分区只是临时的解决办法.

如何查看和释放已经使用的swap空间?

swap查看有很多种方法,一一介绍下:

free -m
就能看出当前系统所使用的swap了。那么如何查看哪些进程使用了swap呢,这样好针对性的做出优化。

Centos(6.0之前):
top只能看到swap总使用量
网上很多人说top f p能显示出来swap。可是按完f查看的时候,man top里面swap的解释是:
并不是实际的使用swap。而是VIRT-RES得来的。用我蹩脚的英文翻译就是,虚拟内存中所使用过的swap部分
3.Centos(6.0之后):
man top
这样就明显看出是取出的每个进程的swap,能很方便的查看哪些进程使用了swap。从中也能看到一个信息。那就是读取了/proc/#/status
4.vmstat
vmstat -n 1也能查看到
仍旧无法查看到哪些进程使用了。但是能看到si、so
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小

在Linux内核 2.6.16中引入了一个系统内存接口特性,这个接口位于/proc/$pid/目录下的smaps文件中 ,一看内容发现是进程内存映像信息,比同一目录下的maps文件更详细些。
cat /proc/1/smaps
这里解释下samps里面的内容:
bfdca000-bfddf000 是该虚拟内存段的开始和结束位置
rw-p 内存段的权限,rw是指可读写,p是指私有,如果是s则为共享
bffea000 该虚拟内存段在对应的映射文件中的偏移量
00:00 文件的主设备和次设备号
0 被映射到虚拟内存的文件的索引节点号
[stack] 被映射到虚拟内存的文件名称
Size 是进程使用内存空间,并不一定实际分配了内存(VSS)
Rss是实际分配的内存(不需要缺页中断就可以使用的)
Shared_Clean 和其他进程共享的未改写页面
Shared_Dirty 和其他进程共享的已改写页面
Private_Clean 未改写的私有页面页面
Private_Dirty 已改写的私有页面页面
Swap 存在于交换分区的数据大小(如果物理内存有限,可能存在一部分在主存一部分在交换分区)
Pss是平摊计算后的使用内存(有些内存会和其他进程共享,例如mmap进来的)