在Linux下使用ps/top等命令查看进程的运行情况

本文最后更新于2015年3月7日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

现在写程序不像之前只顾着写,能实现功能就行,现在还需要注意性能问题(后来想想其实之前也需要注意,只是自己没想着去注意,也没那个精力/水平去注意实现功能的同时还要保证性能达到标准而已),平时说说也知道有哪些性能指标是需要注意的——CPU(top命令)、内存(top命令)、磁盘I/O(iostat/iotop命令)、网络I/O(nethogs/netstat/ifconfig命令),但是等到真的要对某一程序进行分析了,反而忘了该怎么做才好了o(╯□╰)o

这里就先记录一些分析(指定)程序的性能的指标和方法:

1.top命令的使用
搜索关键字:

http://search.aol.com/aol/search?q=linux+top+sort+by+mem+usage

获取指定进程的CPU、内存使用信息:

根据特定列进行排序:

steps:
* top
* shift + F
* select a column from the list
e.g. n means sort by memory,
* press enter
* ok

top_shift-f

参考链接:

将DATA那一列也显示出来的方法:
进入top命令之后,先按“f”键,然后按“s”键即可。

2.ps命令的使用
搜索关键字:

http://search.aol.com/aol/search?q=linux+ps+get+specify+process+memory+info

参考链接:
3.监控网卡流量(网络I/O)

4.监控磁盘I/O
  • iotop
  • iostat
  • pidstat

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1972.html

《在Linux下使用ps/top等命令查看进程的运行情况》上有7条评论

  1. top命令的设置在不同的操作系统中稍有不同,一般都是在进入top命令之后,先按“h”键,然后再根据提示进行操作即可实现:
    ·按内存(RES/VIRT)使用进行排序
    ·按SWAP使用进行排序
    ·按CPU使用进行排序
    ·……

  2. Linux下如何获取一个进程的启动时间?
    https://stackoverflow.com/questions/5731234/how-to-get-the-start-time-of-a-long-running-linux-process
    https://unix.stackexchange.com/questions/62154/when-was-a-process-started
    https://unix.stackexchange.com/questions/7870/how-to-check-how-long-a-process-has-been-running
    https://superuser.com/questions/380520/how-to-find-uptime-of-a-linux-process

    # ps -o pid,comm,lstart,etime,time,args -p 3777 #lstart表示启动时间;etime表示消逝的时间
    PID COMMAND STARTED ELAPSED TIME COMMAND
    3777 auditd Fri Jul 14 17:09:29 2017 2-21:12:54 00:00:00 auditd
    #
    # stat -c%X /proc/3777 #不是特别准确,但相差也不大
    1500023370
    # date -d@1500023370
    Fri Jul 14 17:09:30 CST 2017

  3. Linux中ps aux、ps -aux、ps -ef之间的区别
    http://blog.csdn.net/tanga842428/article/details/79292634
    http://www.cnblogs.com/yinxiangpei/articles/5053840.html

    ps aux 和 ps –aux ,使用时两者之间直接选择 ps aux

    ps aux 和 ps -ef 两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。

发表评论

电子邮件地址不会被公开。 必填项已用*标注