首页 > 系统相关 >Linux Performance Analysis

Linux Performance Analysis

时间:2023-10-21 21:57:44浏览次数:37  
标签:1.00 07 0.00 Analysis 41 Linux Performance CPU PM

Linux Performance Analysis

如何在 30s 内定位系统出现的问题,可以使用如下 10 个命令:

uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top

uptime

uptime 能获取系统平均负载 (Load average)。负载是当前 CPU 的工作量,简单讲就是进程队列的长度。Load average是一段时间(1min、5min和15min)内平均负载。

dmes | tail

这将查看最近10条系统消息(如果有)。查找以下错误会导致性能问题。比如 oom killer,TCP 丢弃一个请求。

vmstat 1

$ vmstat 1
procs ---------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
34  0    0 200889792  73708 591828    0    0     0     5    6   10 96  1  3  0  0
32  0    0 200889920  73708 591860    0    0     0   592 13284 4282 98  1  1  0  0
32  0    0 200890112  73708 591860    0    0     0     0 9501 2154 99  1  0  0  0
32  0    0 200889568  73712 591856    0    0     0    48 11900 2459 99  0  0  0  0
32  0    0 200890208  73712 591860    0    0     0     0 15898 4840 98  1  1  0  0
^C

vmstat是虚拟内存统计信息的工具,常用于服务器监控。运行参数为1时,它会每秒打印一次摘要。第一行显示自启动以来的平均值,可跳过。

mpstat -P ALL 1

$ mpstat -P ALL 1
Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015  _x86_64_ (32 CPU)

07:38:49 PM  CPU   %usr  %nice   %sys %iowait   %irq  %soft  %steal  %guest  %gnice  %idle
07:38:50 PM  all  98.47   0.00   0.75    0.00   0.00   0.00    0.00    0.00    0.00   0.78
07:38:50 PM    0  96.04   0.00   2.97    0.00   0.00   0.00    0.00    0.00    0.00   0.99
07:38:50 PM    1  97.00   0.00   1.00    0.00   0.00   0.00    0.00    0.00    0.00   2.00
07:38:50 PM    2  98.00   0.00   1.00    0.00   0.00   0.00    0.00    0.00    0.00   1.00
07:38:50 PM    3  96.97   0.00   0.00    0.00   0.00   0.00    0.00    0.00    0.00   3.03
[...]

此命令打印每个 CPU 的 CPU 时间明细,可用于检查是否 imbalance。单个 hot CPU 可能用以说明是一个单线程应用。

pidstat 1

$ pidstat 1
Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015    _x86_64_    (32 CPU)

07:41:02 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
07:41:03 PM     0         9    0.00    0.94    0.00    0.94     1  rcuos/0
07:41:03 PM     0      4214    5.66    5.66    0.00   11.32    15  mesos-slave
07:41:03 PM     0      4354    0.94    0.94    0.00    1.89     8  java
07:41:03 PM     0      6521 1596.23    1.89    0.00 1598.11    27  java
07:41:03 PM     0      6564 1571.70    7.55    0.00 1579.25    28  java
07:41:03 PM 60004     60154    0.94    4.72    0.00    5.66     9  pidstat

07:41:03 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
07:41:04 PM     0      4214    6.00    2.00    0.00    8.00    15  mesos-slave
07:41:04 PM     0      6521 1590.00    1.00    0.00 1591.00    27  java
07:41:04 PM     0      6564 1573.00   10.00    0.00 1583.00    28  java
07:41:04 PM   108      6718    1.00    0.00    0.00    1.00     0  snmp-pass
07:41:04 PM 60004     60154    1.00    4.00    0.00    5.00     9  pidstat
^C

Reference

标签:1.00,07,0.00,Analysis,41,Linux,Performance,CPU,PM
From: https://www.cnblogs.com/qwerty-ll/p/17779584.html

相关文章

  • linux进程的管理与调度 --- wake_up_process
    如下为唤醒进程的API,执行内容如下:给待唤醒进程选择一个合适的CPU将待唤醒进程放入选定CPU的运行队列,每个CPU都有一个运行队列判断当前进程是否应该被待唤醒进程抢占,如果应该,置位当前进程的 TIF_NEED_RESCHED标志intwake_up_process(structtask_struct*p)//入参为待......
  • linux基础
    入门信息/在Linux系统中表示1出现在开头的/表示:根目录2出现在中间表示层级目录快捷键ctrl+c强制停止Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl+C命令输入错误,也可以通过快捷键ctrl+c,退出当前输入,重新输入历史命令搜索可以通过history命令,查看历史输入过......
  • Linux文件的目录结构解析
    学习Linux,不仅限于学习各种命令,了解整个Linux文件系统的目录结构以及各个目录的功能同样至关重要。使用Linux时,通过命令行输入ls-l/可以看到,在Linux根目录(/)下包含很多的子目录(称为一级目录),例如bin、boot、dev等。同时,各一级目录下还含有很多子目录(称为二级目录),比如/b......
  • 第八周 Linux课后技术总结
    4.2基本权限ACL4.2.1ACL基本用法1查看ACL权限:getfacl2为用户设置ACL权限:setfacl-mu:3为组设置ACL权限:setfacl-mg:4删除ACL权限:setfacl-x5删除所有ACL权限,回到UGO的基本权限:setfacl-b4.2.2ACL高级特性1mask权限:临时修改文件的ACL权限,在任意ACL权限修改......
  • ubuntu 20.1 (linux) 下软件安装教程(基本上都是使用命令行安装)
    一、node1.安装教程#第二步,添加源后安装需要什么版本直接替换后面的数字即可,如果需要21,直接将20替换为21就可以了curl-sLhttps://deb.nodesource.com/setup_20.x|sudo-Ebash-#开始进行安装sudoaptinstall-ynodejs#https://learnku.com/articles/42581#......
  • 第三章 Unix/Linux进程管理
    #第三章Unix/Linux进程管理##多任务处理Unix/Linux中的多任务处理是指通过操作系统的调度机制,使多个进程可以同时运行,互不影响,并共享计算机系统的资源。这样可以提高系统的效率和利用率。1.进程状态:进程可以处于运行(Running)、就绪(Ready)、等待(Blocked)等不同的状态,调度器根......
  • 将linux的ip地址设置为固定ip
    1.查看ip地址ifconfig 我们此时的ip地址为192.168.124.128,如果我们不设置为固定的,等下次开启时,ip地址可能会变 2.编辑ens33网卡的配置信息在窗户输入以下内容回车,进入编辑界面vi/etc/sysconfig/network-scripts/ifcfg-ens33 进入配置文件,进行修改 修改后的文......
  • linux创建及删除文件节点的命令
     1.手动创建文件节点的命令(mknod):  命令       文件目录&名称   文件类型     主设备号      次设备号mknod          /xxx/xx        c         120       ......
  • 构造linux内核源码树(转载)
    本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程,很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看O'REILLY写的《L......
  • Linux中如何构建内核源码树
    Linux中如何构建内核源码树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。要编写Linux的驱动,必须要构建内核源码树。内核源码树的作用是构造可以在Linux内核中装载和卸载的模块,因此若是要为目标板构造模块,必须保证......