14.内存工具free;vmstat;iostat;pmap;
内存空间使用状态
free [OPTION]
- -b 以字节为单位
- -m 以MB为单位
- -g 以GB为单位
- -h 易读格式
- -o 不显示* -/+buffers/cac
- -t 显示RAM + swap的总
- -s n 刷新间隔为n秒
- -c n 刷新n次后即退出
vmstat命令:虚拟内存信息
- vmstat [options] [delay [count]]
- vmstat 2 5
procs:
- r:可运行(正运行或等待运行)进程的个数,和核心数有关
- b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
- swpd: 交换内存的使用总量
- free:空闲物理内存总量
- buffer:用于buffer的内存总量
- cache:用于cache的内存总量
swap:
- si:从磁盘交换进内存的数据速率(kb/s)
- so:从内存交换至磁盘的数据速率(kb/s)
io:
- bi:从块设备读入数据到系统的速率(kb/s)
- bo: 保存数据至块设备的速率
system:
- in: interrupts 中断速率,包括时钟
- cs: context switch 进程切换速率
cpu:
- us:Time spent running non-kernel code
- sy: Time spent running kernel code
- id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
- wa: Time spent waiting for IO. 2.5.41前,包括in idle.
- st: Time stolen from a virtual machine. 2.6.11前, unknown.
选项:
- -s: 显示内存的统计数据
iostat:统计CPU和设备IO信息
- 示例:iostat 1 10
pmap命令:进程对应的内存映射
- pmap [options] pid [...]
- -x: 显示详细格式的信息
- 示例:pmap 1
另外一种实现:
- cat /proc/PID/maps