Linux系统性能检测常用命令

##查看CPU数量

  • 总核数 = 物理CPU个数 X 每颗物理CPU的核数

  • 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

  • 查看物理CPU个数:

    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

  • 查看每个物理CPU中core的个数(即核数):

    cat /proc/cpuinfo| grep "cpu cores"| uniq

  • 查看逻辑CPU的个数:

    cat /proc/cpuinfo| grep "processor"| wc -l

##CPU运行良好的指标

  • CPU利用率:User Time <= 70%, System Time <=35%, User Time + System Time <= 70%
  • 上下文切换:与CPU利用率相关联,如果CPU利用率良好,较频繁的上下文切换也可以

详情参照 ‘操作系统CPU上下文切换’:http://blog.csdn.net/xifeijian/article/details/8209783

  • 可运行进程数:每个处理器的可运行队列<=3个线程。

###vmstat工具使用

vmstat 2 5  //每两秒统计一次,连续统计5次

打印输出:

输入图片说明

字段含义介绍:

  • 进程:
  1. r:就绪态的进程数,等待CPU调度运行。
  2. b:处于不可中断睡眠状态的进程数。
  • CPU:
  1. us:运行非内核态代码占用时间比(用户时间)。
  2. sy:运行内核代码占用时间比(系统时间)。
  3. id:CPU空闲时间比。
  4. wa:等待IO时间。
  • 内存(KB):
  1. swpd:虚拟内存已使用量。
  2. free:空闲内存量。
  3. buffer:已使用的buffer占用内容量。
  4. cache:已使用的cache占用内存量。
  5. si:数据从 SWAP 读取到 RAM(swap in)的大小。
  6. so:数据从 RAM 写到 SWAP(swap out)的大小。

##内存运行良好的指标

  • si(swap in)= 0 且so(swap out)= 0
  • 应用程序实际使用内存/系统物理内存 <= 70%

###free工具使用

free -m

打印输出:

输入图片说明

具体选项含义参考>>

##网络运行良好的指标 UDP:接收、发送缓冲区不长时间有等待处理的网络包。

TCP:不会出现因为缓存不足而出现丢包,协议层通过重传机制来保证丢失的包到达接收方。TCP更多的专注重传率。

###netstat工具

netstat -lunp

输出:

输入图片说明

RecvQ、SendQ为0,或者短时间内有数值是比较正常的。

查看UPD/TCP丢包情况

netstat -us/-ts

UDP关注‘packet receive errors’,若数值不断增加,则正在丢包。

输入图片说明

TCP服务可以通过(segments retransmited) / (segments send out)来计算重传率。

输入图片说明

###磁盘IO工具

iostat -d -x -k 2 10

输入图片说明

字段说明:https://linux.die.net/man/1/iostat

###文件描述符 查看系统运行打开的最大文件描述符数

cat /proc/sys/fs/file-max

查询当前用户一个进程可以打开的最大文件描述符数

ulimit -n 

##引文:

  1. http://www.cnblogs.com/emanlee/p/3587571.html
  2. http://www.linuxidc.com/Linux/2016-07/133504.htm
  3. http://www.cnblogs.com/dongzhiquan/p/3789199.html
  4. http://www.cnblogs.com/dongzhiquan/p/3789199.html
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

CPU核数怎么计算?

物理cpu数主板上实际插入的cpu数量,可以数不重复的physicalid有几个(physicalid)Linuxcat/proc/cpuinfo|grep"physicalid"|sort|uniq|wclcpu核数单块CPU上面能处理数据的芯片组的数量,

Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

1查看CPU1.1查看CPU个数\cat/proc/cpuinfo|grep"physicalid"|uniq|wcl2\\uniq命令:删除重复行;wc–l命令:统计行数\\1.2查看CPU核数\cat/proc/cpuinfo|grep"cpucores"|uniqc

Linux服务器性能查看分析调优

转自https://www.cnblogs.com/acelee/p/6628079.html一linux服务器性能查看1.1cpu性能查看1、查看物理cpu个数:cat/proc/cpuinfo|grep"physicalid"|sort|un