linux查看资源使用情况
top -c # 查看资源使用情况
top
输出如下内容
top - 14:54:21 up 95 days, 20:03, 3 users, load average: 2072.21, 1241.33, 1244.76
Tasks: 1071 total, 459 running, 610 sleeping, 2 stopped, 0 zombie
%Cpu(s): 12.4 us, 36.1 sy, 0.0 ni, 51.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 515457.4 total, 330572.6 free, 127919.9 used, 56965.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 381876.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
109931 lzw 20 0 1151960 101916 30340 R 45.9 0.0 35:01.51 /home/lzw/anaconda3/envs/python310/bin/python -m joblib.externals.loky.backend.popen_loky_posix --process-name LokyProcess-73 --pipe 16
110902 lzw 20 0 1150032 99684 29548 R 43.7 0.0 36:25.97
-
第一行:系统时间 + 系统已经运行时间 + 目前几个用户登录系统 + 1/5/15分钟系统负载平均值
负载值表示系统正在运行的进程数,这些进程在等待 CPU 或 I/O 的时间。通常情况下,负载值应该在CPU核心数的范围内。
-
第二行:total总进程数 + 正在运行进程数 + 睡眠状态进程数 + 停止的进程数 + 僵尸进程数(zombie)
僵尸进程:即已经结束但是父进程还没有读取到退出状态的进程。
-
第三行:us用户空间CPU占比 + sy内核空间CPU占比 + ni 用于优先级别较低的进程的用户空间CPU占比 + id CPU空闲比 + 等待I/O的CPU时间比 + hi 硬中断处理百分比 + si 软中断处理百分比 + st 被虚拟化软件(如虚拟机)偷取的CPU时间百分比
hi(hardware IRQ) 硬中断
si(software IRQ) 软中断
-
第四行 Mem:物理内存大小 + 可用物理内存大小 + 已使用物理内存大小 + 用于缓冲和缓存的内存大小
-
第五行 Swap:交换空间的总大小 + 可用交换空间大小 + 已使用交换空间大小 + 可用于系统使用的内存大小
-
第六行:
- PID:进程ID
- USER:进程所属用户
- PR:进程优先级
- NI:进程的nice值
- VIRT:进程的虚拟内存大小
- RES:进程占用的物理内存大小
- SHR:进程使用的共享内存大小
- S:进程状态(运行--R,睡眠--S,停止--T)
- %CPU:进程使用的CPU百分比
- %MEN:进程占用内存百分比
- TIME+:进程占用的CPU时间
- COMMAND:进程的命令
P # 输入P将会按照%CPU使用率排序
然后根据最耗费CPU的进程定位该进程下耗费CPU的线程,然后输入P对线程进行排序
top -Hp pid
P
由于Liunx中PID为十进制,先转换成十六进制
printf"%x\n" tid
然后使用指令查看高CPU线程的堆栈信息,打印出代码中哪些方法导致CPU较高的。
jstack pid | grep tid -C5 --color
标签:查看,--,0.0,内存大小,linux,进程,total,CPU,资源 From: https://www.cnblogs.com/benbenlzw/p/18064353这是java里的。