Linux 查看进程占用cpu/内存/io信息
Posted mistark
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 查看进程占用cpu/内存/io信息相关的知识,希望对你有一定的参考价值。
Linux 查看进程占用cpu/内存/io信息
top
Display dynamic real-time information about running processes.
More information: https://manned.org/top.
单词解释:
- PID: 进程ID
- USER: 进程所有者
- PR: 进程的优先级别(越小越优先执行)
- NI: Nice值,进程用户态优先值[-20, 20)
- VIRT: 进程占用的虚拟内存
- RES: 进程占用的物理内存
- SHR: 进程使用的共享内存
- S: 进程的状态。S: 休眠,R: 正在运行, Z: 僵死状态, N表示该进程优先值为负数
- %CPU: 进程占用CPU使用率
- %MEM: 进程使用的物理内存和总内存的百分比
- TIME+: 该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
- COMMAND: 进程启动命令名称
常用命令:
- P: 按%CPU使用率进行排序
- T: 按TIME+进行排序
- M: 按%MEM排序
/proc/[pid]目录
获取程序PID
lsof -i:8000
假如我获取的服务端口8000的进程pid为51497
查看内存使用情况
$ cat /proc/51497/status | grep VmRSS
VmRSS: 247720 kB
我们可以进入这个目录查看可用信息
cd /proc/51497/
ls -l
常用(N为进程的PID)
$ /proc/N/cmdline # 进程启动命令
$ /proc/N/environ # 进程环境变量列表
$ /proc/N/stat # 进程状态
$ /proc/N/statm # 进程使用的内存的状态
$ /proc/N/status # 进程状态信息,比stat/statm更具有可读性
连接(所有目录中用ls -l
查看)
$ /proc/N/cwd # 链接到进程当前工作目录
$ /proc/N/exe # 链接到进程执行命令文件
$ /proc/N/root # 链接到进程根目录
内存
- 消耗内存前10进程
$ ps aux | sort -K4nr | head -n 10
- 查看内存使用排序
然后按$ top
M
- 查看swap
或$ free -h
$ cat /proc/swaps
- 查看某个进程的内存占用
获取进程PID
$ lsof -i:6379
或者
ps -aux | grep redis
假如获取的 redis
的 PID
为 1729
那么获取内存使用情况
$ cat /proc/1729/status | grep VmRSS
或者
$ top -p 1729
CPU
消耗CPU前10的进程
$ ps aux | grep sort -K3nr | head -n 10
查看CPU占用排序
$ top # 然后按P
IO
每隔1s查询一次共查询10次
$ iostat 1 10
路由信息
查看主机路由信息
$ netstat -rn
以上是关于Linux 查看进程占用cpu/内存/io信息的主要内容,如果未能解决你的问题,请参考以下文章