CPU

  • top:内核/用户进程占用CPU比例
  • procinfo/cat /proc/interrupts:查看中断次数和频率,造成中断数量较高的设备
  • oprofile:内核函数消耗时间和函数功能
  • time :进程在内核和用户空间花费的时间
  • strace /oprofile :进程在那些系统调用上花费的时间
  • ltrace / oprofile :进程在那些函数花费的时间

内存

  • slabtop :内核使用内存是否增加/使用量过大
  • slabtop :排序内核使用内存的对象情况,用于确定用于文件/子系统
  • top /ps :查看物理内存是否增加
    • /proc/<pid>/status 查看内存使用情况

      • VmExe 值很大,则说明可执行文件本身很大,需要确定哪些函数文本比较大。
      • VmLib 很大,则说明应用程序使用了大量或者体积比较大的共享库,需要确定哪些库导致了 VmLib 很大。
      • VmData 较大并在增加,说明进程的数据区或堆在增加。
    • gdb attach进程,根据调用栈信息计算当前栈指针和前一个栈指针的差值,这个差值即为函数的栈容量,找到栈容量比较大的函数。
    • memprof找到哪些函数分配了堆内存并观察哪些进程的堆内存在增加,确定是否存在不合理的分配或者内存泄漏问题。
    • /proc/<pid>/maps 查看进程使用了哪些共享库和以及这些库的大小,对于太大的共享库是否可能替换成大小更小的版本。或者某个库已经被其他进程加载到内存使用,只是版本不同,则可以改成共用一个版本。
    • nm 命令排序进程符号大小,找出文本段较大的函数看是否可以删除或者减小其大小。
    • ipcs查看共享内存信息,是否存在过大或者共享内存数量不断增加。
    • ipcs -p查看哪些进程创建和使用了共享内存。对于共享内存过大问题,可以查看其程序代码看分配是否合理。对于共享内存数不断增加,是否存在创建后未删除等问题。

磁盘I/O

  • iotop找到产生大量 IO 的进程。
  • strace 跟踪高 IO 进程与文件操作相关的系统调用,查看其调用详情和耗时时长,找到耗时长的读写操作。并通过其操作的文件描述符 fd 映射回磁盘上的文件,了解为什么需要读写这些文件,进而查看是否可以优化。

网络I/O

  • ethool 查看网卡的最大流量限制
  • iptraf 查看流经端口的流量是否饱和
  • ifconfig/ip 命令查看网络接口是否产生大量错误,如果是可能是硬件配置的有问题,联系网管帮忙排查解决。
  • iptraf 查看流量类型(协议/端口号)。
  • netstat 查看是否有进程在流经该网络端口的流量。
  • strace/lsof 找到是哪个套接字产生了这些通信流量。

Linux性能分析工具和方法的更多相关文章

  1. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

  2. Linux性能分析工具与图形化方法

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:赵坤|腾讯魔王工作室后台开发工程师 在项目开发中,经常会遇到程序启动时间过长.CPU使用率过高等问题,这个时候需要依靠性能分析工具来 ...

  3. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  4. [转]Linux性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  5. 超全整理!Linux性能分析工具汇总合集

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  6. Linux 性能分析 工具命令

    背景知识:具备背景知识是分析性能问题时需要了解的.比如硬件 cache:再比如操作系统内核.应用程序的行为细节往往是和这些东西互相牵扯的,这些底层的东西会以意想不到的方式影响应用程序的性能,比如某些程 ...

  7. Linux性能分析工具的安装和使用

    转自:http://blog.chinaunix.net/uid-26488891-id-3118279.html Normal 0 7.8 磅 0 2 false false false EN-US ...

  8. Linux性能分析工具top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. top命令说明 [www.linuxidc.com@linuxidc-t-tomcat-1 ...

  9. linux性能分析工具之火焰图

    一.环境 1.1 jello@jello:~$ uname -a Linux jello 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UT ...

  10. linux性能分析工具

    概览 uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n T ...

随机推荐

  1. ARCHIV_CREATE_FILE 员工头像上传

    *&---------------------------------------------------------------------* *& Report ZHRR_011 ...

  2. Solon AI 五步构建 RAG 服务:2025 最新 AI + 向量数据库实战

    此文参考自:https://www.toutiao.com/article/7506140643970826779/ 引言:RAG 会成为 2025 年 AI 落地核心? 在2025年,检索增强生成( ...

  3. 快速创建SQL Server 链接服务器

    SQL Server链接服务器简介 SQL Server提供链接到另一个服务器的选项.这通常被用来连接到其他SQL Server数据库,但它也可以被用来连接到一个Microsoft Access数据库 ...

  4. ET框架服务端部署到Linux

    运行环境:Centos7.3 + JetBrains Rider 2020 + ET 5.0 + Mac笔记本 (这里要说一下低于Centos7的没法安装.net core环境) 服务器和资源服务部署 ...

  5. 逗号位置决定命运:CSS 选择器 `#id > a, b` 和 `#id > a, #id > b` 的致命差异

    引言:被忽视的逗号陷阱 在日常开发中,CSS 选择器的逗号,看似简单,但一个符号的位置差异就能导致样式作用范围天差地别.本文通过真实代码对比,揭示这个容易被忽视的关键细节. 核心结论(先看结果) 选择 ...

  6. Milvus 使用

    Milvus记录:1.安装Python: $ pip install -U pymilvus #pymilvus 中包含的一个 python 库,可以嵌入到客户端应用程序中 $ pip install ...

  7. 修改Git全部Commit提交记录的用户名Name和邮箱Email

    当我们换邮箱了,想把已经提交过的 commit 的邮箱和用户名改成新的时候. 先把本地配置成新的 git config user.name '丁少华' git config user.email '新 ...

  8. vim卡死 转载

    博客园 玩了这么多年linux 居然不知道这个..特此记录. 使用vim时,如果你不小心按了 Ctrl + s后,你会发现不能输入任何东西了,像死掉了一般,其实vim并没有死掉,这时vim只是停止向终 ...

  9. openwrt helloworld

    转载http://blog.csdn.net/hui523hui523hui523/article/details/38366427 新的见解 https://forum.openwrt.org/vi ...

  10. leetcode 236 而哈数的最近公共祖先

    简介 dfs 找出路劲,然后长链在短链里面找. code /** * Definition for a binary tree node. * struct TreeNode { * int val; ...