Linux服务器性能管理
ฅ'ω'ฅ♪

Linux服务器性能管理

使用的是挂在阿里Ecs上的centos 7

Cpu

查看物理cpu个数:

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

查看每个物理cpu中的core个数:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

逻辑cpu的个数:

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

物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下)

内存

查看内存使用情况:

#free -m
             total       used       free     shared    buffers     cached
Mem:          3949       2519       1430          0        189       1619
-/+ buffers/cache:        710       3239
Swap:         3576          0       3576

total:内存总数
used:已经使用的内存数
free:空闲内存数
shared:多个进程共享的内存总额

- buffers/cache:(已用)的内存数,即used-buffers-cached

+ buffers/cache:(可用)的内存数,即free+buffers+cached

Buffer Cache用于针对磁盘块的读写;
Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。


对操作系统来说free/used是系统可用/占用的内存;
对应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。

磁盘

查看硬盘及分区信息:

fdisk -l

查看文件系统的磁盘空间占用情况:

df -h

查看硬盘的I/O性能(每隔一秒显示一次,显示5次):

iostat -x 1 5
  1. 如%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
  2. 如idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。

查看某目录的大小:

du -sh /root

如发现某个分区空间接近用完,

可以进入该分区的挂载点,

用以下命令找出占用空间最多的文件或目录

然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录:

判断系统是否繁忙

结合vmstat命令来判断系统是否繁忙

vmstat结果内容的解释

Vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 88 199564 134860 1175252 0 0 0 352 9323 10496 8 6 85 0 0


procs 
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。 
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

memory 
swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常 
free 当前的空闲页面列表中内存数量(k表示) 
buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。 
cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

swap 
si 由内存进入内存交换区数量。 
so由内存交换区进入内存数量。

IO 
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。 
bo 块设备写入数据的总量(写磁盘)(每秒kb) 
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

system 显示采集间隔内发生的中断数 
in 列表示在某一时间间隔中观测到的每秒设备中断数。 
cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

cpu 表示cpu的使用状态 
us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。 
sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。 
wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。 
id 列显示了cpu处在空闲状态的时间百分比

 vmstat命令输出分成六个部分: 
  (1)进程procs: 
  r:在运行队列中等待的进程数 。 
  b:在等待io的进程数 。 
  (2)内存memoy: 
  swpd:现时可用的交换内存(单位KB)。 
  free:空闲的内存(单位KB)。 
  buff: 缓冲去中的内存数(单位:KB)。 
  cache:被用来做为高速缓存的内存数(单位:KB)。 
  (3) swap交换页面 
  si: 从磁盘交换到内存的交换页数量,单位:KB/秒。 
  so: 从内存交换到磁盘的交换页数量,单位:KB/秒。 
  (4) io块设备: 
  bi: 发送到块设备的块数,单位:块/秒。 
  bo: 从块设备接收到的块数,单位:块/秒。 
  (5)system系统: 
  in: 每秒的中断数,包括时钟中断。 
  cs: 每秒的环境(上下文)切换次数。 
  (6)cpu中央处理器: 
  cs:用户进程使用的时间 。以百分比表示。 
  sy:系统进程使用的时间。 以百分比表示。 
  id:中央处理器的空闲时间 。以百分比表示。

  如果 r经常大于 4 ,且id经常小于40,表示中央处理器的负荷很重。

如果bi,bo 长期不等于0,表示物理内存容量太小。
CANCEL

-评论-

Here you can post what you want to say, if you have more information please contact me by the following way.

-昵称-
-QQ-
-邮箱-
想说些什么?
-SUBMIT-

-电联 Phone-

+86 18520664652

-邮箱 Email-

boogieLing_o@163.com

boogieLing_o@qq.com

Your name. OS platform Browser model

What do you want to say?

created time

游說萬乘苦不早,著鞭跨馬涉遠道。

阿凌的貓爬架

幸會,

激活Ubuntu

转到“设置”以激活Ubuntu。

R0's board.