获取进程a.out的进程号,可以:
#echo `pidof a.out`
#echo $(pidof a.out)
Step1:了解linux命令的第一利器就是$man COMMAND
Step2::查找目标进程
1)查看当前系统中所有用户启动的所有进程的实时动态资源统计信息
#top
2)查看指定用户启动的进程的实时动态资源统计信息
#top -u li_xiaoming
3)查看指定进程a.out的实时动态资源统计信息
#top -p `pidof a.out`
4)查看当前系统CPU占比最高的进程
#top
注:top默认输出行是按照%CPU的占比值的降序进行排列输出的,则第一行就是%CPU占比最高的进程
5)查看li_xiaoming用户%CPU占比最高的进程
#top -u li_xiaoming
6)查找指定进程a.out中所有fork进程中CPU占比值最高的子进程
#top -p `pidof a.out` -H
7)查看当前系统%MEM占比最高的进程
#top
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的进程
8)查看li_xiaoming用户%CPU占比最高的进程
#top -u li_xiaoming
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的进程
9)查找指定进程a.out中所有fork进程中CPU占比值最高的子进程
#top -p `pidof a.out` -H
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的进程
Step3:查找目标线程
1)查看当前系统中所有用户启动的所有线程的实时动态资源统计信息
#top -H
2)查看指定用户启动的所有线程的实时动态资源统计信息
#top -u li_xiaoming -H
3)查找指定进程a.out中所有线程的实时动态资源统计信息
#top -p `pidof a.out` -H
4)查看当前系统中所有用户启动的所有线程中%CPU占比最高的线程
#top -H
注:默认按照%CPU占比值降序排列输出所有进程,第一行就是目标进程。
5)查看指定用户启动的所有线程中%CPU占比最高的线程
#top -u li_xiaoming -H
6)查找指定进程a.out中所有线程中%CPU占比最高的线程
#top -p `pidof a.out` -H
7)查看当前系统中所有用户启动的所有线程中%MEM占比最高的线程
#top -H
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的线程
8)查看指定用户启动的所有线程中%MEM占比最高的线程
#top -u li_xiaoming -H
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的线程
9)查找指定进程a.out中所有线程中%MEM占比最高的线程
#top -p `pidof a.out` -H
然后"shift + >"组合键选择%MEM列作为排序关键列,按照%MEM占比值降序排列
第一行就是%MEM占比最高的线程
Step4:查看top输出列中每列字段的详细含义
#top
然后f键,进入top的字段解释界面,如下所示:
1)从第一行:current sort field is %CPU,可知当前默认排列关键字为%CPU
2)从DATA = Data + Stack (KiB)可知,DATA列表示进程的Data和Stack占内存大小。
3)前面有*的字段是在top命令显示字段,如果想显示DATA,要先选择DATA然后按键d就可了,就会在top刷新日志中显示DATA字段。
Step5:top其他功能
1)top显示的开始信息 可以通过uptime,iostat等命令输出
2)top的其他选项可以$man top了解