#
企业中常用命令
------ Author:行癫(zhuangyao) Department:北京千锋互联科技有限公司(云计算+信息安全教学部) ------ 知识点: -如何查看内存空间 -如何查看磁盘空间 -如何查看cpu使用率 #### 查看内存 ```shell 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 ``` #### 查看磁盘 ```shell 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是只读存储(rom)。(LCTT译注,此处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 ```shell 在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,表示中央处理器的负荷很重。 假如 bi,bo 长期不等于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: ```