声明:所有文章只作为学习笔记用,转载非原创
https://mp.weixin.qq.com/s/oL-J-aqs-I2wfBa4s4rqBA
htop https://www.cnblogs.com/lazyfang/p/7650010.html
输出结果解释 https://bbs.csdn.net/topics/300008463
POSIX表示可移植操作系统接口(PortableOperatingSystemInterfaceofUNIX,缩写为POSIX
https://javawind.net/p131 top 命令输出
VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
选项有三种风格:
1、UNIX风格,必须在选项前面加“-”
2、BSD风格,选项前不能加“-”
3、GNU风格,选项前为两个“-”
Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。
BSD风格,即命令后的参数,可以分组,但不可以与连字符同用。
GNU风格,即长选项,命令后的参数,可以分组,但必须以双横线开头,如:ps --help。
命令或程序后面的参数,由getopt程序处理。各操作系统似乎有同化的趋势。如Linux上很多命令可以使用三种风格的参数。
常用组合之一:aux
a:所有与终端相关的进程
x:所有与终端无关的进程
u:以用户为中心组织进程状态信息显示
RES from top command
RSS from ps command
RSS 驻留中页的数量;
https://blog.csdn.net/hyde82/article/details/642688
http://www.voidcn.com/article/p-mywfccij-btw.html
If you are talking about the difference between the RES column in top -p $(pidof process) and the RSS column in the ps aux | grep $(pidof process) command, there is no difference, as both the tools get this value from the /proc/$(pidof process)/stat file.
You can always cat /proc/$(pidof process)/status for a human readable format.
https://blog.51cto.com/superleedo/1886802
https://blog.csdn.net/ai2000ai/article/details/79786459
输出结果解释:
-----------------------------------
CPU%:cpu时间占用比率
MEM%:内存占用百分比
VSZ:virtual size虚拟内存集;
RSS:Resident Size,常驻内存集;
----------------------------------
pid:进程的pid号
ni:nice值
priority:优先级
psr:运行在那颗cpu
pcpu:cpu利用率
ppid:父进程的id号
rtprio:实时优先级
-------STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 正在运行或在运行队列中等待
S 睡眠 休眠中, 受阻, 在等待某个条件的形成或接受到信号
I 空闲
Z 僵死 进程已终止, 但进程描述符存在
D 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
---------------------------------
dstat 在centos下 可以 yum -y instatll dstat
这是默认输出显示的信息:
默认情况下分五个区域:
1、 --total-cpu-usage---- CPU使用率
usr:用户空间的程序所占百分比;
sys:系统空间程序所占百分比;
idel:空闲百分比;
wai:等待磁盘I/O所消耗的百分比;
hiq:硬中断次数;
siq:软中断次数;
2、-dsk/total-磁盘统计
read:读总数
writ:写总数
3、-net/total- 网络统计
recv:网络收包总数
send:网络发包总数
4、---paging-- 内存分页统计
in: pagein(换入)
out:page out(换出)
注:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,通常情况下当系统已经开始用交换空间的时候,就说明你的内存已经不够用了,或者说内存非常分散,理想情况下page in(换入)和page out(换出)的值是0 0。
5、--system--系统信息
int:中断次数
csw:上下文切换
注:中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。
默认情况下,dstat 会每隔一秒刷新一次数据,一直刷新并一直输出,按 Ctrl+C 退出 "dstat";
dstat 还有许多具体的参数,可通过man dstat命令查看,
网友评论