top 命令
- top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
top
内容解释
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
s - 改变画面更新频率 (如下所示从1秒变为2秒)
l - 关闭或开启第一行 top 信息的表示
t - 关闭或开启第二行 Tasks 和第三行 Cpus 信息的表示
m - 关闭或开启第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的顺序排列表示进程列表
P - 以 CPU 占用率大小的顺序排列进程列表
M - 以内存占用率大小的顺序排列进程列表
h - 显示帮助
n - 设置在进程列表所显示进程的数量
q - 退出 top
pmap 命令
- pmap 可以根据进程查看进程相关信息占用的内存情况 (进程id先通过ps查看)
pmap -d 1234
00007fff61777000 132 rwx-- 0000000000000000 000:00000 [ stack ]
00007fff617ff000 4 r-x-- 0000000000000000 000:00000 [ anon ]
ffffffffff600000 4 r-x-- 0000000000000000 000:00000 [ anon ]
mapped: 833824K writeable/private: 241800K shared: 212K
看到最后一行
mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小
shared 表示进程和其他进程共享的内存大小
free 命令
[root@ops /]# free
total used free shared buffers cached
Mem: 3924380 3772468 151912 148 157832 2911252
-/+ buffers/cache: 703384 3220996
Swap: 1999996 0 1999996
(Mem)
total 总计物理内存的大小
used 已使用多大
free 可用有多少
Shared 多个进程共享的内存总额。
Buffers/cached 磁盘缓存的大小
(-/+ buffers/cached)
used 已使用多大。
free 可用有多少。
(Swap)
total 总计物理内存的大小
used 已使用多大
free 可用有多少
- (mem)的used/free与(-/+ buffers/cache) used/free的区别
- 使用的角度来看
(mem) 是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是151912KB,已用内存是3772468KB,其中包括,内核(OS)使用+Application(X, etc)使用的+buffers+cached.
(-/+ buffers/cache) 是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
- 应用程序的角度
可用内存 = free memory + buffers + cached