专栏首页公众号-测试驿栈linux性能监控常用命令

linux性能监控常用命令

概述

我们在linux下,如果想要监控服务器性能。我们必须掌握以下常用的指标查看命令。

  • ps
  • pstree
  • top
  • free
  • vmstat
  • sar

ps

ps命令能给出当前系统中进程的快照。下面我们列举几个常用的选项 使用 -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。 ps -ax 通过我们会查找某类或包含某些指定关键字的进程,这是会使用管道结合grep命令来进一步过滤结果。 例如查找java相关的进程ps -ax | grep java 有时我们则需要根据CPU和内存的使用情况来过滤排序筛选结果,这样便于快速找到哪个进程最耗CPU、内存 ps -aux 根据CPU的使用升序排序 ps -aux --sort -pcpu 根据内存使用升序排序 ps -aux --sort -pmem 上述两个命令合并一起,如下: ps -aux --sort -pcpu,+pmem 只显示前几个进程,例如显示前十个,需要使用管道结合head命令。 ps -aux | head -n 10

pstree

pstree命令以树状图显示进程间的关系 下面我们看几个常用的示例。 以树状图显示进程,只显示进程的名字,且相同进程合并显示。 pstree 以树状图显示进程,还显示进程PID。 pstree -p

以树状图显示进程PID为<pid>的进程以及子孙进程,如果有-p参数则同时显示每个进程的PID。 pstree <pid>或

pstree -p <pid>

以树状图显示进程,相同名称的进程不合并显示,并且会显示命令行参数,如果有-p参数则同时显示每个进程的PID。 pstree -a 为什么要用pstree命令,通过该命令,能让你更清晰的了解你要监控的目标服务关联了哪些资源,能让你更加清楚其资源关联情况,增加在性能测试过程中分析的准确性。 不管是ps还是pstree命令,在性能测试过程中,最重要的一个应用技巧就是获取资源消耗最高的目标进程的线程id。例如

ps auxw|head -1;ps auxw|sort -rn -k3|head -10 cpu占用最高的十个进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -10 内存占用最高的十个进程

ps auxw --sort=rss 实际内存占用排名

ps auxw --sort=%cpu 实际cpu消耗排名

top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 与ps不同的是,top显示系统当前的进程和其他状况,而且是一个动态显示过程,它可以不断刷新当前状态。 直接使用即可

free -m

使用free命令,能让你清楚的了解当前系统内存消耗情况。

vmstat

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。 相比于top、free等命令,vmstat可以看到整个机器的CPU,内存,IO的消耗情况。 一般情况下vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如下命令: vmstat 2 1 2表示每个两秒采集一次服务器状态,1表示只采集一次。

sar

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 如果你的系统没安装该命令,请用以下方式进行安装 apt-get install sysstat yum install sysstat 安装完成后在用以下命令启用: vi /etc/default/sysstat

将ENABLED改为“true”

ENABLED="true" 重启下sar服务,开始采集相关数据 /etc/init.d/sysstat start 命令常用格式 sar [options] [-A] [-o file] t [n] 其中: t为采样间隔,n为采样次数,默认值是1; -o file表示将命令结果以二进制格式存放在文件中,file 是文件名。 options 为命令行选项,sar命令常用选项如下: sar参数说明 -A 查看汇总所有的报告-a 查看文件读写使用情况-B 查看附加的缓存的使用情况-b 查看缓存的使用情况-c 查看系统调用的使用情况-d 查看磁盘的使用情况-g 查看串口的使用情况-h 查看关于buffer使用的统计数据-m 查看IPC消息队列和信号量的使用情况-n 查看命名cache的使用情况-p 查看调页活动的使用情况-q 查看运行队列和交换队列的平均长度-R 查看进程的活动情况-r 查看没有使用的内存页面和硬盘块-u 查看CPU的利用率-v 查看进程、文件和锁表状态-w 查看系统交换活动状况-y 查看TTY设备活动状况 查看CPU是否存在瓶颈: sar -u sar -q 查看内存是否存在瓶颈: sar -Bsar -rsar -W 查看IO是否存在瓶颈 sar -bsar -usar -d 示例 例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件cpu_info中,需键入如下命令: sar -u -o cpu_info 10 3 iostat iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 iotop 如果你想知道每个进程是如何使用IO的就比较麻烦。这个时候iotop可以上场了。 iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。 例子:

sar -u #统计CPU的使用情况,每间隔1秒钟统计一次总共统计三次:#sar -u 1 3

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 性能测试-cpu负载和cpu利用率

    CPU使用率指的是程序在运行期间实时占用的CPU百分比,这是对一个时间段内CPU使用状况的统计。

    飞天小子
  • Jmeter(二十四)_服务器性能监控

    1、访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件。其中JMeterPlugins-Standard和J...

    飞天小子
  • Docker_容器化gitlab

      sudo yum install curl openssh-server openssh-clients postfix cronie -

    飞天小子
  • 深度学习可助力5G和6G创建“认知无线电”,获得最佳性能!

    几十年来,业余双向无线电运营者们为了能够跨大陆通信,会在一天中的正确时间来选择正确的无线电频率。之所以能够奢侈地做到这点,是因为用户和共享无线电波的设备相对较少...

    大数据文摘
  • C++读取文件内容

    gojam
  • SQLyog 12.0.8.0 中文破解版

    SQLyog中文版是一款专业的图形管理软件,SQLyog操作简单,功能强大,能够帮助用户轻松管理自己的MYSQL数据库,SQLyog中文版支持多种数据格式导出,...

    凯哥Java
  • 史上最严数据保护条例GDPR今日生效,究竟意味着什么?

    GDPR 的全称是 General Data Protection Regulation,即《通用数据保护条例》。这项法案在 2012 年 1 月份就已经起草,...

    FB客服
  • 外包避坑经验小结

    机缘巧合,近距离接触了一个比较坑的外包团队,长了一丢丢扯皮的经验,写个小结,填坑。

    KyXu
  • 业界 | 人类又输了?AI研究为何如此痴迷游戏对决?

    程序猿为何痴迷于用人工智能攻克各种游戏?是对网瘾少年的嘲讽,还是对科技未来的探索?这一切的背后,是人性的扭曲还是道德的沦丧?敬请关注本期的走进大数据文摘!

    大数据文摘
  • DeepMind最新ICML论文:价值分布方法超越所有传统强化学习

    【新智元导读】DeepMind 在他们的 ICML 2017 论文 A Distributional Perspective on Reinforcement ...

    新智元

扫码关注云+社区

领取腾讯云代金券