须知toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

内容解释:

PID:进程的IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值VIRT:进程占用的虚拟内存RES:进程占用的物理内存SHR:进程使用的共享内存S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU:进程占用CPU的使用率%MEM:进程使用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称常用的命令:

P:按%CPU使用率排行T:按TIME+排行M:按%MEM排行/proc/pid目录获取程序pid

代码语言:javascript复制lsof -i:3306假如我获取的mysql的pid为3779

那么获取内存使用情况

代码语言:javascript复制cat /proc/3779/status | grep VmRSS我们可以进入这个目录查看可用信息

代码语言:javascript复制cd /proc/3779/

ls -l常用(N为进程的pid)

文本(可用cat查看)

/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 链接到进程的根目录内存1) 消耗内存前10排序的进程

代码语言:javascript复制ps aux | sort -k4nr |head -n 102) 查看内存占用 排序

代码语言:javascript复制top然后按 M

3) 查看swap

代码语言:javascript复制free -h或者

代码语言:javascript复制cat /proc/swaps3) 查看某个程序的内存占用

获取程序pid

代码语言:javascript复制lsof -i:3306或者

代码语言:javascript复制ps -aux | grep mysqld假如我获取的mysql的pid为3779

那么获取内存使用情况

代码语言:javascript复制cat /proc/3779/status | grep VmRSS或者

代码语言:javascript复制top -p 3779CPU消耗CPU前10排序的进程

代码语言:javascript复制ps aux | sort -k3nr |head -n 10查看CPU占用 排序

代码语言:javascript复制top然后按 P

IO每隔1s查询一次 共查询10次

代码语言:javascript复制iostat 1 10路由信息查看主机路由信息

代码语言:javascript复制netstat -rn