一,查看磁盘
命令
说明
df -hl
查看磁盘剩余空间
df -h
查看每个根路径的分区大小
du -sh [目录名]
返回该目录的大小
du -sm [文件夹]
返回该文件夹总M数
du -h [目录名]
查看指定文件夹下的所有文件大小(包含子文件夹)
df -h 或df -H
查看硬盘剩余空间
du -hs 目录名
查看目录占用空间
sudo fdisk -l
查看硬盘的分区
sudo hdparm -i /dev/hda
查看IDE硬盘信息
sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id
查看STAT硬盘信息
sync fuser -km /media/usbdisk
优盘没法卸载,强退
df --help或du --help
更多功能可以输入一下命令查看:
二,查看内存和CPU
输入命令:top
PID
USER
PR
NInice
VIRT
RES
SHR
S
%CPU
%MEM
TIME+
COMMAND
进程id
进程所有者
进程优先级,越小越先执行
值
进程占用的虚拟内存
进程占用的物理内存
进程使用的共享内存
进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
进程占用CPU的使用率
进程使用的物理内存和总内存的百分比
该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
进程启动命令名称
输入命令:free
image
total
used
free
Shared
Buffers
cached
总计物理内存的大小
已使用多大
可用有多少
多个进程共享的内存总额
磁盘
缓存
Buffers/cached
used
free
磁盘缓存的大小
已使用多大
可用有多少
区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是434884KB,已用内存是3489800KB,
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如上例:893176=434884+36436+421856
iostat命令查看
如果提示不存在,则安装下即可,iostat在sysstat包中:
yum -y install sysstat
1.硬盘读写性能,查看TPS和吞吐量信息
iostat -d -k 1 10
字段
说明
-d
显示某块具体硬盘,这里没有给出硬盘路径就是默认全部了
-k
以KB为单位显示
1
统计间隔为1秒
10
共统计10次的
Device:
tps
kB_read/s
kB_wrtn/s
kB_read
kB_wrtn
sda
14.54
417.21
368.06
15719357562
13867444535
dm-0
104.60
415.64
366.87
15660312829
13822621684
dm-1
0.69
1.57
1.19
59041280
44822840
2查看设备使用率(%util)、响应时间(await). iostat -x 参数,
iostat -d -k -x 1 10
Device:
rrqm/s
wrqm/s
r/s
w/s
rkB/s
wkB/s
avgrq-sz
avgqu-sz
await
svctm
%util
sda
4.87
85.88
8.41
6.14
417.21
368.06
107.98
0.02
8.92
2.73
3.97
dm-0
0.00
0.00
12.89
91.72
415.64
366.87
14.96
0.06
1.70
0.38
3.95
dm-1
0.00
0.00
0.39
0.30
1.57
1.19
8.00
0.02
35.25
1.45
0.10
字段
说明
rrqm/s
每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的 时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);
wrqm/s
每秒这个 设备相关的写入请求有多少被Merge了。
r/s
每秒响应的读取请求数;
w/s
每秒响应的写入请求数;
rkB/s
每秒读取的数据量;
wkB/s
每秒写入的数据量
await
每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时 间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util
在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
3.iostat -c 参数,查看CPU状态信息
iostat -c 1 10
avg-cpu
%user
%nice
%system
%iowait
%steal
%idle
1.28
0.00
0.43
0.84
0.00
97.45
avg-cpu
%user
%nice
%system
%iowait
%steal
%idle
0.77
0.00
0.26
0.00
0.00
98.98
avg-cpu
%user
%nice
%system
%iowait
%steal
%idle
13.71
0.00
2.28
0.00
0.00
84.01
4.vmstat命令,查看内存使用情况
vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r
b
swpd
free
buff
cache
si
so
bi
bo
in
cs
us
sy
id
wa
st
0
0
96
2934580
149988
274084
0
0
104
92
0
0
1
0
97
1
0
0
0
96
2934580
149988
274084
0
0
0
0
1088
252
0
0
100
0
0
0
0
96
2934468
149988
274200
0
0
148
0
1071
253
0
0
99
0
0
0
0
96
2934468
149988
274200
0
0
0
0
1069
283
0
0
100
0
0
2
0
96
2926656
150012
284304
0
0
0
332
1166
381
7
1
92
0
0
0
0
96
2935088
150032
274084
0
0
0
26560
1284
818
41
5
49
6
0
1
0
96
2933872
150096
274276
0
0
244
0
1226
887
36
4
59
0
0
0
0
96
2933872
150120
274692
0
0
0
0
1244
1646
15
1
84
0
0
0
0
96
2933756
150156
275040
0
0
0
0
1198
705
13
3
84
0
0
0
0
96
2933756
150156
275040
0
0
0
0
1097
328
0
0
100
0
0
字段
说明
**Procs **
进程
r
在运行队列中等待的进程数
b
在等待io的进程数
**Memory **
内存
swpd
虚拟内存使用情况,单位:KB;切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free
空闲的内存,单位KB;当前的空闲页面列表中内存数量(k表示)
buff
被用来做为缓存的内存数,单位:KB;作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
cache
作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。
**Swap **
磁盘内存交互
si
从内存进入到内存交换区数量,单位:KB/秒
so
从内存交换区进入到内存数量,单位:KB/秒
**IO **
设备收发
bi
从块设备读入数据的总量(读磁盘)(每秒kb)。
bo
块设备写入数据的总量(写磁盘)(每秒kb)这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析
**System **
切换
in
每秒的中断数,表示在某一时间间隔中观测到的每秒设备中断数。
cs
每秒的环境(上下文)切换次数
**CPU **
处理器按 CPU 的总使用百分比来显示
us
CPU 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy
列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
id
列显示了cpu处在空闲状态的时间百分比
wa
列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘[访问控制]
procs
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
r、b列一般为0,表示没有等待进程,如果不为0表示系统性能有问题
si、so 两 列,表示内存交换的频繁程度,如果数值长期很大,表示内存不够,要和硬盘交换数据,也可以表示要读写的数据每次都不一样
bi、bo 两列,表示I/O输入输出很频繁