You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Stream9_Foundation/Stream9_Foundation_MD/企业中常用命令(内存、cpu、磁盘).md

11 KiB

企业中常用命令


Author:行癫zhuangyao

Department:北京千锋互联科技有限公司(云计算+信息安全教学部)


知识点:

-如何查看内存空间

-如何查看磁盘空间

-如何查看cpu使用率

查看内存

1.free
[root@xingdian ~]# free 
              total        used        free      shared  buff/cache   available
Mem:         999696      102852      784324        6876      112520      754700
Swap:       2097148           0     2097148
[root@xingdian ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         100         765           6         109         736
Swap:          2047           0        2047

total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。

2./proc/meminfo
[root@xingdian ~]# cat /proc/meminfo 
MemTotal:         999696 kB
MemFree:          839308 kB
MemAvailable:     784880 kB
Buffers:              12 kB
Cached:            27956 kB
SwapCached:            0 kB
Active:            61960 kB
Inactive:          20088 kB
Active(anon):      54072 kB
Inactive(anon):     6872 kB
Active(file):       7888 kB
Inactive(file):    13216 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         54080 kB
Mapped:            21044 kB
Shmem:              6876 kB
Slab:              34864 kB
SReclaimable:      12860 kB
SUnreclaim:        22004 kB
KernelStack:        3920 kB
PageTables:         3284 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2596996 kB
Committed_AS:     256212 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      178476 kB
VmallocChunk:   34359310332 kB
HardwareCorrupted:     0 kB
AnonHugePages:     14336 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       59264 kB
DirectMap2M:      989184 kB

3.如何清理Buffers/cached中的内容
[root@xingdian ~]# echo 3 > /proc/sys/vm/drop_caches

查看磁盘

1.df   列出文件系统的整体磁盘使用量
[root@xingdian ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        48G  1.7G   46G   4% /
devtmpfs                devtmpfs  478M     0  478M   0% /dev
tmpfs                   tmpfs     489M     0  489M   0% /dev/shm
tmpfs                   tmpfs     489M  6.8M  482M   2% /run
tmpfs                   tmpfs     489M     0  489M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  118M  380M  24% /boot
/dev/mapper/vg1-lv1     xfs        37M  2.2M   35M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4      190M  1.6M  175M   1% /mnt/lv2
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
-a列出所有的文件系统包括系统特有的/proc等文件系统
-k以KB的容量显示各文件系统
-m以MB的容量显示各文件系统
-h以人们较易阅读的GB,MB,KB等格式自行显示
-H以M=1000K替代M=1024K的进位方式
-T连同该分区的文件系统名称例如ext3也列出
-i不用硬盘容量而以inode的数量来显示

2.du  评估文件系统的磁盘使用量
[root@xingdian ~]# du -h a.txt 
4.0K	a.txt
-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
-h : 以人们较易读的容量格式G/M显示
-s : 列出总量,而不列出每个个别的目录占用了容量;
-S : 不包括子目录下的总计,与-s有点差别
-k : 以KB列出容量显示
-m : 以MB列出容量显示。

3.lsblk  列出块设备信息
[root@xingdian ~]# lsblk 
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    50G  0 disk 
├─sda1            8:1    0   500M  0 part /boot
└─sda2            8:2    0  49.5G  0 part 
  ├─centos-root 253:0    0  47.5G  0 lvm  /
  └─centos-swap 253:1    0     2G  0 lvm  [SWAP]
sdb               8:16   0    20G  0 disk 
├─sdb1            8:17   0  96.7M  0 part 
├─sdb2            8:18   0   1.8G  0 part 
└─sdb3            8:19   0  17.2G  0 part 
sdc               8:32   0    20G  0 disk 
├─sdc1            8:33   0  47.8M  0 part 
├─sdc2            8:34   0   4.8G  0 part 
├─sdc3            8:35   0 439.3M  0 part 
└─sdc4            8:36   0     1K  0 part 
sdd               8:48   0    20G  0 disk 
├─vg1-lv1       253:2    0   860M  0 lvm  /mnt/lv1
└─vg1-lv2       253:3    0   500M  0 lvm  /mnt/lv2
sr0              11:0    1   792M  0 rom  

NAME : 这是块设备名。
MAJ:MIN : 本栏显示主要和次要设备号。
RM : 本栏显示设备是否可移动设备。注意在本例中设备sdb和sr0的RM值等于1这说明他们是可移动设备。
SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB而1K表明该设备大小为1KB。
RO : 该项表明设备是否为只读。在本案例中所有设备的RO值为0表明他们不是只读的。
TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中sda和sdb是磁盘而sr0是只读存储romLCTT译注此处sr0的RO项没有标记为1可能存在一些错误
MOUNTPOINT : 本栏指出设备挂载的挂载点。

[root@xingdian ~]# lsblk -b /dev/sda   指定设备查看
NAME            MAJ:MIN RM        SIZE RO TYPE MOUNTPOINT
sda               8:0    0 53687091200  0 disk 
├─sda1            8:1    0   524288000  0 part /boot
└─sda2            8:2    0 53161754624  0 part 
  ├─centos-root 253:0    0 51011125248  0 lvm  /
  └─centos-swap 253:1    0  2147483648  0 lvm  [SWAP]

[root@xingdian ~]# lsblk -m   列出设备权限和属主
NAME              SIZE OWNER GROUP MODE
sda                50G root  disk  brw-rw----
├─sda1            500M root  disk  brw-rw----
└─sda2           49.5G root  disk  brw-rw----
  ├─centos-root  47.5G root  disk  brw-rw----
  └─centos-swap     2G root  disk  brw-rw----
sdb                20G root  disk  brw-rw----
├─sdb1           96.7M root  disk  brw-rw----
├─sdb2            1.8G root  disk  brw-rw----
└─sdb3           17.2G root  disk  brw-rw----

[root@xingdian ~]# lsblk -a  列出所有设备

查看cpu

	在linux的系统维护中可能需要经常查看cpu使用率分析系统整体的运行情况。而监控CPU的性能一般包括以下3点运行队列、CPU使用率和上下文切换。

1、top	
2、vmstat
	一般vmstat工具的使用是通过两个数字参数来完成的第一个参数是采样的时间间隔数单位是秒第二个参数是采样的次数
[root@xingdian ~]# vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 816632     12  80440    0    0   111    13   62   89  0  1 99  0  0
[root@xingdian ~]# vmstat  2 3
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      0 816524     12  80464    0    0   105    12   59   85  0  0 99  0  0
 0  0      0 816540     12  80464    0    0     0     0   25   28  0  0 100  0  0
 0  0      0 816524     12  80464    0    0     0     1   25   23  0  1 100  0  0
(1)进程procs 
    r在运行队列中等待的进程数 。
    b在等待io的进程数 。
(2)Linux 内存监控内存memoy 
    swpd现时可用的交换内存单位KB。 
    free空闲的内存单位KB。
    buff: 缓冲去中的内存数单位KB。
    cache被用来做为高速缓存的内存数单位KB(3) Linux 内存监控swap交换页面 
    si: 从磁盘交换到内存的交换页数量单位KB/秒。
    so: 从内存交换到磁盘的交换页数量单位KB/秒。
(4)Linux 内存监控 io块设备:
    bi: 发送到块设备的块数,单位:块/秒。
    bo: 从块设备接收到的块数,单位:块/秒。
(5)Linux 内存监控system系统 
    in: 每秒的中断数,包括时钟中断。
    cs: 每秒的环境(上下文)转换次数。
(6)Linux 内存监控cpu中央处理器
    cs用户进程使用的时间 。以百分比表示。
    sy系统进程使用的时间。 以百分比表示。
    id中央处理器的空闲时间 。以百分比表示。
常见诊断:
假如 r 经常大于4 ,且 id 经常小于40表示中央处理器的负荷很重。
假如 bibo 长期不等于0表示物理内存容量太小。	
b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。
swpd 虚拟内存已使用的大小如果大于0表示你的机器物理内存不足了如果不是程序内存泄露的原因那么你该升级内存了或者把耗内存的任务迁移到其他机器。
free   空闲的物理内存的大小我的机器内存总共8G剩余3415M。
buff   Linux/Unix系统是用来存储目录里面有什么内容权限等的缓存我本机大概占用300多M
cache cache直接用来记忆我们打开的文件,给文件做缓冲我本机大概占用300多M(这里是Linux/Unix的聪明之处把空闲的物理内存的一部分拿来做文件和目录的缓存是为了提高 程序执行的性能当程序使用内存时buffer/cached会很快地被使用。)
si  每秒从磁盘读入虚拟内存的大小如果这个值大于0表示物理内存不够用或者内存泄露了要查找耗内存进程解决掉。我的机器内存充裕一切正常。
so  每秒虚拟内存写入磁盘的大小如果这个值大于0同上。。
in 每秒CPU的中断次数包括时间中断
sy 系统CPU时间如果太高表示系统调用时间长例如是IO操作频繁。
id  空闲 CPU时间一般来说id + us + sy = 100,一般我认为id是空闲CPU使用率us是用户CPU使用率sy是系统CPU使用率。
wt 等待IO CPU时间。	
	
3./proc/cpuinfo
[root@xingdian ~]# cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
stepping	: 7
microcode	: 0x2d
cpu MHz		: 2501.082
cache size	: 3072 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tsc_adjust arat
bogomips	: 5002.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: