Quantcast
Channel: Ivy's note »技术
Viewing all articles
Browse latest Browse all 10

Linux程序诊断常用的一些命令

$
0
0
  1. ps 查看进程
    这个应该是最常用的了,可以查询当前系统中的进程状态、CPU/MEM使用状态,有几个不常用的参数需要注意下就是etime(程序运行时间),stime(启动时间),nlwp
  2. kill 杀掉进程
    比较常用的信号量是9和3,kill -9是强制结束进程,这个要慎用,可能会导致数据丢失。kill -3 这个一般对java程序来说很有用,执行之后可以在user.dir目录下生成thread dump文件来,可用于分析进程状态,用作性能瓶颈排查。
  3. strace 追踪进程
    用它来启动程序可在输出那个进程所调用的api及操作的文件,非常适合排查程序启动失败的原因。当然也可用于追踪正在运行中的程序,非常强大。
  4. lsof 查看文件句柄
    可用于查看某个进程正在使用哪些文件,也可以配合grep查看某个文件正在被谁使用着。还有个比较方便的功能就是查看进程开启了哪些端口,或者哪些端口被谁调用着。默认输出的端口和连接的主机信息被解析成了名称,可通过-P -n来直接显示ip和端口号。显示端口的对UDP支持的不好
  5. netstat 查看网络连接状态
    netstat -anp 可查系统中的网络连接状态以及对应的进程
  6. ifconfig 查看网卡信息
    这个很少注意,但挺重要就是查看是否有丢包的现象,配合脚本可查看丢包的严重情况。
  7. tcpdump 抓包工具
    非常好用的抓包工具,比较常用的就是抓某个端口的包 tcpdump -i 网卡名 port 端口号 -s 0 -A
  8. iostat 查看系统IO信息
    可实时查看系统分区层面的io信息,简单看系统的IO是否已经饱和的命令为iostat -mx 2 100,查看%util ,还可配合hdparm -t看
  9. iotop 查看进程IO
    用python写的非常不错的实时查看进程IO的工具。
  10. wget 查看网页连通及下载文件
    可用于检测不同WEB服务器间的连接访问情况,也可用curl -v 更强大些。

Viewing all articles
Browse latest Browse all 10

Trending Articles