现在的位置: 首页 > 综合 > 正文

查看Linux服务器的硬盘

2018年05月09日 ⁄ 综合 ⁄ 共 2375字 ⁄ 字号 评论关闭

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

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

1)查看硬盘及分区信息,命令:fdisk -l

2)检查文件系统的磁盘空间占用情况,命令:du -h

3)查看硬盘的I/O性能,命令:iostat -x 1 10

其中,iostat是含在套装systat中的,在Centos5.5下可以用命令yum -y install systat来安装

参数说明:

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:每秒读K字节数。是rsect/s的一半,因为每扇区大小为512字节。

wkB/s:每秒写K字节数。是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系统已经满负荷,该磁盘可能存在瓶颈。

如果idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。同时还可以结合vmstat查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间的百分比,高过30%时I/O的压力就比较高了),帮助了解I/O的负荷情况。

另外还可以参考如下一些情况:svctm应小于await,因为同时等待请求的等待时间被重复计算了。一般来说,svctm的大小和磁盘性能有关,CPU/内存的负荷也会对其有一定的影响,请求过多就会间接导致svctm增加。

await的大小一般取决于服务时间(svctm)以及I/O队列的长度和I/O请求的发出模式。如果svctm比较接近await,说明I/O几乎没有等待时间;如果await远大于svctm,说明I/O队列太长,应用得到的响应时间也变长。如果响应时间超过了用户允许的范围,这时就可以考虑更换更快的磁盘、调整内核elevator的算法、优化应用或者升级CPU。

队列长度(avgqu-sz)也可作为衡量系统I/O负荷的指标,但由于avgqu-sz是按照单位时间计算出来的平均值,所以不能反映瞬间的I/O洪水。

4)查看Linux系统中某目录的大小,这在工作中经常会遇到。我们可以用命令:du-sh目录名来查看,如下所示:

  1. [root@localhost /]# du -sh /root
  2. 1.2M /root

检查是否有分区使用率(Use%)过高(比如超过90%)的情况,如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录。

  1. # du -cksh *| sort -rn| head -n 10

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

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

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

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

  1. dd if=rhel40.img of=/dev/fd0 bs=10k 或者
  2. dd if=mptlinux-3.02.68-1-rhel4.i686.dd of=/dev/fd0 bs=10k

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

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

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

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

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

  1. if=file

输入文件名,默认为标准输入。

  1. of=file

输出文件名,默认为标准输出。

  1. ibs=bytes

一次读入bytes个字节(即一个块大小为bytes个字节)。

  1. obs=bytes

一次写bytes个字节(即一个块大小为bytes个字节)。

  1. bs=bytes

同时设置读写块的大小为bytes,可代替ibs和obs。

  1. cbs=bytes

一次转换bytes个字节,即转换缓冲区大小。

  1. skip=blocks

从输入文件开头跳过blocks个块后再开始复制。

  1. seek=blocks

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

  1. count=blocks

仅拷贝blocks个块,块大小等于ibs指定的字节数。

(一起搏吧 http://www.17bob.com 谢谢)

抱歉!评论已关闭.