linux动态见识进程命令,linux性能分析,你不能不见识的一幅图

本文介绍了Linux系统性能分析的三个关键工具:top、perf和lsof。top命令提供了系统负载、进程CPU和内存使用情况的实时视图;perf作为内核自带的性能优化工具,可用于查找热点函数和性能瓶颈;lsof则能显示系统中打开文件的状态,帮助监控文件系统和进程活动。了解并熟练使用这些工具对于提升Linux应用程序的性能至关重要。
摘要由CSDN通过智能技术生成

资深软件工程师定期分享嵌入式与协议实战经验,请点击关注。

每个Linux程序员都应该要学会做linux应用性能。linux性能分析有幅图必须看看,这就是高级性能架构师Brendan Gregg所绘制的性能观测图。

ca98ffb7a7b23c3e91177edfc2d658bb.png性能观测图

从图中可以看出Linux在性能可测试性方面做得非常全面。从底层IO,文件系统,收发包再到上层系统调用再到应用程序各个层面都观测工具。本文先介绍3个常用的工具。

top

这个命令是程序员都熟悉的陌生命令了,常用,但并不一定就会用。

top命令的汇总区域显示了五个方面的系统性能信息:负载 进程 cpu 内存 交换分区

任务区域默认显示:进程ID,有效用户,进程优先级,NICE值,进程使用的虚拟内存,物理内存和共享内存,进程状态,CPU占用率,内存占用率,累计CPU时间,进程命令行信息。

几个你必须明白的字段

VIRT:virtual memory usage 虚拟内存

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等

2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存

1、进程当前使用的内存大小,但不包括swap out

2、包含其他进程的共享

3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反

4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存

2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小

3、计算某个进程所占的物理内存大小公式:RES – SHR

4、swap out后,它将会降下来

perf

perf是Linux kernel自带的系统性能优化工具。优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature,用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。

常用于性能瓶颈的查找与热点代码的定位。

Perf是一个包含22种子工具的工具集,以下是最常用的5种:

perf-list

perf-stat

perf-top

perf-record

perf-report

如果要你学5个也觉得多,那你至少应该会一个,这个就是pert-top。

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

查看文件系统阻塞 lsof /boot

查看端口号被哪个进程占用 lsof -i : 23

查看用户打开哪些文件 lsof –u username

查看进程打开哪些文件 lsof –p 4568

查看远程已打开的网络连接 lsof –i @192.168.1.2

欢迎留言评论,有问必答。

举报/反馈

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值