查看linux系统中内存,cpu,磁盘状况

内存性能查看 free

[root@master ~]# free
              total        used        free      shared  buff/cache   available
Mem:         995892      437688      125784        8420      432420      317276
Swap:       2097148        1288     2095860
[root@master ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         427         123           8         422         310
Swap:          2047           1        2046
[root@master ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              0           0           0           0           0           0
Swap:             1           0           1
[root@master ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        427M        123M        8.2M        422M        310M
Swap:          2.0G        1.3M        2.0G

total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件

清理缓存

a)清理pagecache(页面缓存)

 

# sync;echo 1 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=1

 b)清理dentries(目录缓存)和inodes

 

# sync;echo 2 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=2

 c)清理pagecache、dentries和inodes

 

# sync;echo 3 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=3

运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件

echo 0 是不释放缓存

echo 1 是释放页缓存

ehco 2 是释放dentries和inodes缓存

echo 3 是释放 1 和 2 中说道的的所有缓存

当Linux磁盘被占用找不到占用文件,磁盘空间没释放

lsof | grep deleted(查看被删除的文件,还存在的进程)

使用kill -9 进程号可彻底清理

[root@master ~]# lsof | grep deleted
tuned     1080                root    8u      REG              253,0      4096   18016322 /tmp/ffihJnOTu (deleted)
gmain     1080 1574           root    8u      REG              253,0      4096   18016322 /tmp/ffihJnOTu (deleted)
tuned     1080 1575           root    8u      REG              253,0      4096   18016322 /tmp/ffihJnOTu (deleted)
tuned     1080 1576           root    8u      REG              253,0      4096   18016322 /tmp/ffihJnOTu (deleted)
tuned     1080 1600           root    8u      REG              253,0      4096   18016322 /tmp/ffihJnOTu (deleted)
gnome-she 1452                 gdm   20u      REG              253,0     12288   18016323 /tmp/ffi1Wh8Lw (deleted)
gmain     1452 1468            gdm   20u      REG              253,0     12288   18016323 /tmp/ffi1Wh8Lw (deleted)
dconf     1452 1469            gdm   20u      REG              253,0     12288   18016323 /tmp/ffi1Wh8Lw (deleted)

cpu性能查看top

top - 15:12:36 up  1:04,  1 user,  load average: 0.00, 0.03, 0.05
Tasks: 168 total,   1 running, 161 sleeping,   6 stopped,   0 zombie
%Cpu(s):  0.3 us,  1.3 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995892 total,   350004 free,   416832 used,   229056 buff/cache
KiB Swap:  2097148 total,  2095860 free,     1288 used.   345896 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  1077 etcd      20   0   10.4g 108260  11096 S  0.7 10.9   0:17.57 /usr/bin/etcd --name=default --data-dir=/var/lib/etcd/default.etcd +
  2636 root      20   0  162040   2344   1608 R  0.3  0.2   0:00.16 top
     1 root      20   0  128168   6856   4188 S  0.0  0.7   0:03.16 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 [kthreadd]
     3 root      20   0       0      0      0 S  0.0  0.0   0:00.21 [ksoftirqd/0]
     5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 [kworker/0:0H]
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.16 [kworker/u256:0]
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 [migration/0]
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 [rcu_bh]
     9 root      20   0       0      0      0 S  0.0  0.0   0:01.23 [rcu_sched]
    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 [lru-add-drain]
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.03 [watchdog/0]

输入c将实时动态展示使用cpu最高的

输入m将实时动态展示使用Memory最高的

输入q表示推出动态实时。

磁盘性能查看iostat iotop

iostat (iostat用于输出CPU和磁盘I/O相关的统计信息)

[root@master ~]# iostat
Linux 3.10.0-957.21.3.el7.x86_64 (master)       08/25/2019      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.61    0.00    3.37    0.06    0.00   94.96

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.26       451.82        25.73     348910      19866
scd0              0.02         1.33         0.00       1028          0
dm-0             13.89       435.51        23.07     336314      17818
dm-1              0.12         3.19         0.00       2460          0

iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。

tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read:   读入的block总数.
Blk_wrtn:  写入的block总数.入门使用

iostat -x 1 1 (每隔一秒进行一次打印输出)

[root@master ~]# iostat -x 1 1
Linux 3.10.0-957.21.3.el7.x86_64 (master)       08/25/2019      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.01    0.00    6.34    0.12    0.00   90.53

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.01     0.65   24.25    7.17   874.79    49.62    58.84     0.02    0.66    0.67    0.60   0.47   1.49
scd0              0.00     0.00    0.05    0.00     2.58     0.00   114.22     0.00    1.72    1.72    0.00   1.28   0.01
dm-0              0.00     0.00   19.04    7.81   843.21    44.48    66.12     0.02    0.79    0.82    0.71   0.53   1.43
dm-1              0.00     0.00    0.23    0.00     6.17     0.00    54.67     0.00    0.26    0.26    0.00   0.14   0.00

 

  • 如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
  • 如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;
  • 如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。
  • 如果avgqu-sz比较大,也表示有当量io在等待。
  • svctm一项正常时间小于20ms。(svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接的导致svctm值的增加)

原因:高速cpu会造成很高的iowait值,但这并不代表磁盘是系统的瓶颈。唯一能说明磁盘是系统瓶颈的方法,就是很高的read/write时间,一般来说超过20ms,就代表了不太正常的磁盘性能。为什么是20ms呢?一般来说,一次读写就是一次寻到+一次旋转延迟+数据传输的时间。由于,现代硬盘数据传输就是几微秒或者几十微秒的事情,远远小于寻道时间2~20ms和旋转延迟4~8ms,所以只计算这两个时间就差不多了,也就是15~20ms。只要大于20ms,就必须考虑是否交给磁盘读写的次数太多,导致磁盘性能降低了。

Device中的dm-0/1/是什么?怎么来的?

 sar -d 1

[root@master ~]# sar -d 1
Linux 3.10.0-957.21.3.el7.x86_64 (master)       08/25/2019      _x86_64_        (1 CPU)

02:30:43 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:30:44 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:30:44 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:30:44 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:30:44 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
[root@master ~]# cd /dev/mapper/
[root@master mapper]# ll
total 0
lrwxrwxrwx. 1 root root       7 Aug 25 14:08 centos-root -> ../dm-0
lrwxrwxrwx. 1 root root       7 Aug 25 14:08 centos-swap -> ../dm-1
crw-------. 1 root root 10, 236 Aug 25 14:08 control
[root@master mapper]# cd /dev/centos/
[root@master centos]# ll
total 0
lrwxrwxrwx. 1 root root 7 Aug 25 14:08 root -> ../dm-0
lrwxrwxrwx. 1 root root 7 Aug 25 14:08 swap -> ../dm-1

dm-0、dm-1的主设备号是253(是linux内核留给本地使用的设备号),次设备号分别是0、1这类设备在/dev/mapper中

看到dm-0、dm-1的详细设备名后,知道这二个设备是属于centos逻辑卷组的lvm设备。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值