分享到:

查看Linux服务器的硬盘使用情况

日期:2016-12-26     阅读:140     文章来源:源美设计     标签:服务器硬盘

想要了解Linux服务器的硬盘使用情况,可以根据以下步骤查看。

1)查看硬盘及分区信息,如下所示:

fdisk –l 

命令显示结果如下:

Disk /dev/sda: 160.0 GB, 160040803840 bytes

255 heads, 63 sectors/track, 19457 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start     End   Blocks  Id System

/dev/sda1  *      1     13   104391  83 Linux

/dev/sda2       14    3200  25599577+ 83 Linux

/dev/sda3      3201    3582   3068415  82 Linux swap / Solaris

/dev/sda4      3583    19457  127515937+  5 Extended

/dev/sda5      3583    19457  127515906  83 Linux 

以上结果表明这是一块160GB的服务器硬盘。

2)检查文件系统的磁盘空间占用情况,命令如下所示:

df –h 

命令显示结果如下:

Filesystem      Size Used Avail Use% Mounted on

/dev/sda2       24G 5.9G  17G 26% /

/dev/sda5       118G 8.8G 103G  8% /data

/dev/sda1       99M  20M  75M 21% /boot

tmpfs         859M   0 859M  0% /dev/shm

none         859M 104K 858M  1% /var/lib/xenstored 

3)查看硬盘的I/O性能,命令如下所示:

iostat –d -x –k 1 10 

其中,iostat是含在套装sysstat中的,在CentOS 5.8下可以用如下命令进行安装:

yum –y install sysstat 

以笔者的生产环境下的MySQL数据库服务器为例说明,在Pietty下输入以下命令:

iostat –d –x –k 1 5 

得到的结果如下所示:

Linux 2.6.9-34.ELsmp (ud50053)  01/18/2012  _i686_ (4 CPU)

Device:     rrqm/s  wrqm/s   r/s   w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm %util

hda        0.19  63.84  0.48  26.94  12.84  363.08  27.43   0.07  2.64  8.36  2.54  0.62  1.70

Device:     rrqm/s  wrqm/s   r/s   w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm %util

hda        0.00  44.00  3.00  29.00  16.00  292.00  19.25   0.06  1.88  12.67  0.76  1.50  4.80

Device:     rrqm/s  wrqm/s   r/s   w/s

Device:     rrqm/s  wrqm/s   r/s   w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm %util

hda        0.00   2.00  0.00  16.00   0.00  76.00   9.50   0.01  0.69  0.00  

0.69  0.38  0.60

Device:     rrqm/s  wrqm/s   r/s   w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm %util

hda        0.00  380.00  0.00  79.00   0.00 1832.00  46.38   0.32  4.01  0.00  4.01  0.65  5.10

Device:     rrqm/s  wrqm/s   r/s   w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm %util

hda        0.00   7.00  0.00  8.00   0.00  60.00  15.00   0.01  0.88  0.00  

0.88  0.38  0.30 


参数说明:

·rrqm/s:每秒进行merge的读操作数目,即delta(rmerge)/s。

·wrqm/s:每秒进行merge的写操作数目,即delta(wmerge)/s。

·r/s:每秒完成的读I/O设备的次数,即delta(rio)/s。

·w/s:每秒完成的写I/O设备的次数,即delta(wio)/s。

·rsec/s:每秒读扇区数,即delta(rsect)/s。

·wsec/s:每秒写扇区数,即delta(wsect)/s。

·rkB/s:每秒读千字节数,是rsect/s的一半,因为每扇区大小为512字节。

·wkB/s:每秒写千字节数,是wsect/s的一半。

·avgrq-sz:平均每次设备I/O操作的数据大小(即扇区),即delta(rsect+wsect)/delta(rio+wio)。

·avgqu-sz:平均I/O队列的长度。即delta(aveq)/s/1000(除以1000是因为aveq的单位为毫秒)。

·await:平均每次设备I/O操作的等待时间(单位:毫秒),即delta(ruse+wuse)/delta(rio+wio)。

·svctm:平均每次设备I/O操作的服务时间(单位:毫秒),即delta(use)/delta(rio+wio)。

·%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的,即delta(use)/s/1000(因为use的单位为毫秒)。

大家可能对这些参数和名词解释不太明白,不要紧,其实在工作中我们只需关注以下几个方面即可:

·如果%util接近100%,则说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

·await的大小一般取决于服务时间(svctm),以及I/O队列的长度和I/O请求的发出模式。这个响应时间应该低于5ms,如果大于5ms就表示磁盘I/O压力很大,这时就可以考虑更换响应速度更快的磁盘,调整内核elevator的算法、优化应用或者升级CPU。

4)查看Linux系统中某目录的大小,这在工作中经常会遇到。可以使用如下命令查看:

du -sh 目录名 

例如:

du -sh /data 

命令显示结果如下所示:

8.6G /data/ 

检查是否有分区使用率(Use%)过高(比如超过90%),如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的

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

du -cks * | sort -rn | head -n 10

5)在Linux系统中经常会用到dd命令,很多时候维护系统工作时需要使用。dd命令可以把指定的输入文件复制到指定的输出文件中,并且在复制过程中可以进行格式转换。我碰到的需要用到dd命令的几个地方如下所示。

制作交换文件的时候,例如:

dd if=/dev/zero of=/swapfile bs=1024 count=65536

制作驱动盘的时候,例如,将硬盘上的驱动文件复制到一个软驱中:

dd if=rhel40.img of=/dev/fd0 bs=10k 

或者

dd if=mptlinux-3.02.68-1-rhel4.i686.dd of=/dev/fd0 bs=10k 

制作ISO镜像的时候,例如:

dd if=/dev/cdrom of=/root/cd1.iso

当然也可以用mkisofs命令来制作ISO镜像。

另外,重装系统的时候,我喜欢用dd命令来破坏系统的分区表,由于此命令破坏性极大,会带来严重的后果。为了防止读者误操作,这里就不介绍了,有兴趣的读者可自行研究。

下面将分别介绍dd命令的参数,如下所示:

if=file 

上述参数表示输入文件名,默认为标准输入。

of=file 

上述参数表示输出文件名,默认为标准输出。

ibs=bytes 

上述参数表示一次读入bytes个字节(即一个块大小为bytes个字节)。

obs=bytes 

上述参数表示一次写bytes个字节(即一个块大小为bytes个字节)。

bs=bytes 

上述参数表示同时设置读写块的大小为bytes,可代替ibs和obs。

cbs=bytes 

上述参数表示一次转换bytes个字节,即转换缓冲区大小。

skip=blocks

上述参数表示从输入文件开头跳过blocks个块后再开始复制。

seek=blocks 

上述参数表示从输出文件开头跳过blocks个块后再开始复制(通常当输出文件是磁盘或磁带时才有效)。

count=blocks 

上述参数表示仅复制blocks个块,块大小等于ibs指定的字节数。



文章引用:http://www.szymweb.com/new/185.html

本站文章为深圳网站建设·源美设计原创策划,如有版权纠纷或者违规问题,请联系我们删除,谢谢!

上一篇:物联网对通信网络的需求

下一篇:查看Linux服务器的内存使用情况

返回列表
最新案例
OUR ADVANTAGE WORKS