获取当前进程的全部线程
jps 获取jvm的进程信息.
top -Hp $pid -bn 1 > 1.txt
可以获取当前特定进程的所有子进程.
注意linux与Windows的不太一样.
linux下面的线程实现,其实是子进程的模式.
Windows的更是process-thread的映射模式.
其他部分命令
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
top的其他用法
top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
top列的含义
序号 | 列名 | 含义 |
---|---|---|
1 | PID | 进程id |
2 | PPID | 父进程id |
3 | RUSER | Real user name |
4 | UID | 进程所有者的用户id |
5 | USER | 进程所有者的用户名 |
6 | GROUP | 进程所有者的组名 |
7 | TTY | 启动进程的终端名。不是从终端启动的进程则显示为 ? |
8 | PR | 优先级 |
9 | NI | nice值。负值表示高优先级,正值表示低优先级 |
10 | P | 最后使用的CPU,仅在多CPU环境下有意义 |
11 | %CPU | 上次更新到现在的CPU时间占用百分比 |
12 | TIME | 进程使用的CPU时间总计,单位秒 |
13 | TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
14 | %MEM | 进程使用的物理内存百分比 |
15 | VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
16 | SWAP | 进程使用的虚拟内存中,被换出的大小,单位kb。 |
17 | RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
18 | CODE | 可执行代码占用的物理内存大小,单位kb |
19 | DATA | 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
20 | SHR | 共享内存大小,单位kb |
21 | nFLT | 页面错误次数 |
22 | nDRT | 最后一次写入到现在,被修改过的页面数。 |
23 | S | 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) |
24 | COMMAND | 命令名/命令行 |
25 | WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
26 | Flags | 任务标志,参考 sched.h |
top的其他用法
- 不同进程状态的含义
id: idle进程执行所占的CPU时间百分比,当系统当中没有足够的进程让CPU执行的时候,
idle进程会被调度到CPU上进行执行,这个进程是为了让操作系统能够良好的执行起来所设置
idle进程主要执行HLT指令,这个指令主要是让CPU节能,不需要CPU满负荷运转,
因为这个时候没有具体的进程需要执行,这个百分比越大说明系统负载越轻,CPU不繁忙。
wa: 这个很好解释,等待IO的时间。
hi: 处理硬件中断所消耗的时间。
si: 处理软件中断所消耗的时间
st: 这个主要是虚拟机的虚拟CPU等待真实物理CPU的时间,
可以大致认为是Ready状态到Running状态的等待时间,
如果这个值越大说明虚拟机运行状态越不好,因为它等待真实CPU的时间很长。
标签:kb,top,内存大小,占用,学习,简单,进程,CPU
From: https://www.cnblogs.com/jinanxiaolaohu/p/17031596.html