linux性能监控工具汇总

1 iftop

2 sar

3 valgrind

4 top

1 显示所有cpu信息

c 查看完整的命令

M 按内存占用排序进程

P 按cpu占用排序进程

top -Hp pid 命令可以查看某个进程的所有线程

ps -T -p <pid> 命令也可以列出进程号pid下面创建的所有线程

5 free

6 dmesg

进程消失的情况下(谁杀了我的进程),可以使用dmesg进行排查

dmesg | grep -i kill | less

oom(out of memory),简单来说,就是当Linux系统内存不足,在大量使用swap之后,会kill掉内存占用最大的进程。这应该算操作系统系统自身的一种保护机制,以防更多的进程不能正常工作

https://stackoverflow.com/questions/726690/what-killed-my-process-and-why

 

7 /proc/pid/

该目录下包含进程的所有信息

8 strace

9 ps

ps aux | grep xxx 命令查看进程,进程状态的含义如下:

D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生

R 正在运行或可运行(在运行队列排队中)

S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)

T 已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行

W 正在换页(2.6.内核之前有效)

X 死进程 (未开启)

Z 僵尸进程 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的

< 高优先级(not nice to other users)

N 低优先级(nice to other users)

L 页面锁定在内存(实时和定制的IO)

s 一个信息头

l 多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)

+ 在前台进程组

10 gdb

见博客gdb用法

https://blog.csdn.net/sole_cc/article/details/82831747

11 lldb

12 lsof

list open files

-p<进程号> 列出指定进程号所打开的文件

-i 列出所有的网络连接

-i tcp 列出所有tcp网络信息

-i :3306 列出谁在使用3306端口

连接泄漏问题

lsof -n|awk '{print $2}'| sort | uniq -c | sort -nr | head -n 5

https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/lsof.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值