想要了解Linux服務器的硬盤使用情況,可(kě)以根據以下步驟查看(kàn)。
1)查看(kàn)硬盤及分(fēn)區信息,如(rú)下所示:
fdisk –l
命令顯示結果如(rú)下:
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)檢查文件(jiàn)系統的磁盤空間占用情況,命令如(rú)下所示:
df –h
命令顯示結果如(rú)下:
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)查看(kàn)硬盤的I/O性能,命令如(rú)下所示:
iostat –d -x –k 1 10
其中,iostat是含在套裝sysstat中的,在CentOS 5.8下可(kě)以用如(rú)下命令進行安裝:
yum –y install sysstat
以筆者的生(shēng)産環境下的MySQL數據庫服務器爲例說(shuō)明,在Pietty下輸入以下命令:
iostat –d –x –k 1 5
得(de)到的結果如(rú)下所示:
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
參數說(shuō)明:
·rrqm/s:每秒進行merge的讀(dú)操作(zuò)數目,即delta(rmerge)/s。
·wrqm/s:每秒進行merge的寫操作(zuò)數目,即delta(wmerge)/s。
·r/s:每秒完成的讀(dú)I/O設備的次數,即delta(rio)/s。
·w/s:每秒完成的寫I/O設備的次數,即delta(wio)/s。
·rsec/s:每秒讀(dú)扇區數,即delta(rsect)/s。
·wsec/s:每秒寫扇區數,即delta(wsect)/s。
·rkB/s:每秒讀(dú)千字節數,是rsect/s的一半,因爲每扇區大(dà)小爲512字節。
·wkB/s:每秒寫千字節數,是wsect/s的一半。
·avgrq-sz:平均每次設備I/O操作(zuò)的數據大(dà)小(即扇區),即delta(rsect+wsect)/delta(rio+wio)。
·avgqu-sz:平均I/O隊列的長度。即delta(aveq)/s/1000(除以1000是因爲aveq的單位爲毫秒)。
·await:平均每次設備I/O操作(zuò)的等待時間(單位:毫秒),即delta(ruse+wuse)/delta(rio+wio)。
·svctm:平均每次設備I/O操作(zuò)的服務時間(單位:毫秒),即delta(use)/delta(rio+wio)。
·%util:一秒中有百分(fēn)之多少的時間用于I/O操作(zuò),或者說(shuō)一秒中有多少時間I/O隊列是非空的,即delta(use)/s/1000(因爲use的單位爲毫秒)。
大(dà)家可(kě)能對這些參數和名詞解釋不太明白(bái),不要緊,其實在工(gōng)作(zuò)中我們隻需關注以下幾個方面即可(kě):
·如(rú)果%util接近100%,則說(shuō)明産生(shēng)的I/O請(qǐng)求太多,I/O系統已經滿負荷,該磁盤可(kě)能存在瓶頸。
·await的大(dà)小一般取決于服務時間(svctm),以及I/O隊列的長度和I/O請(qǐng)求的發出模式。這個響應時間應該低于5ms,如(rú)果大(dà)于5ms就(jiù)表示磁盤I/O壓力很大(dà),這時就(jiù)可(kě)以考慮更換響應速度更快(kuài)的磁盤,調整内核elevator的算法、優化應用或者升級CPU。
4)查看(kàn)Linux系統中某目錄的大(dà)小,這在工(gōng)作(zuò)中經常會遇到。可(kě)以使用如(rú)下命令查看(kàn):
du -sh 目錄名
例如(rú):
du -sh /data
命令顯示結果如(rú)下所示:
8.6G /data/
檢查是否有分(fēn)區使用率(Use%)過高(比如(rú)超過90%),如(rú)發現某個分(fēn)區空間接近用完,可(kě)以進入該分(fēn)區的挂載點,用以下命令找出占用空間最多的
文件(jiàn)或目錄,然後按照(zhào)從(cóng)大(dà)到小的順序,正好可(kě)以找出系統中占用最多空間的前十個文件(jiàn)或目錄:
du -cks * | sort -rn | head -n 10
5)在Linux系統中經常會用到dd命令,很多時候維護系統工(gōng)作(zuò)時需要使用。dd命令可(kě)以把指定的輸入文件(jiàn)複制到指定的輸出文件(jiàn)中,并且在複制過程中可(kě)以進行格式轉換。我碰到的需要用到dd命令的幾個地方如(rú)下所示。
制作(zuò)交換文件(jiàn)的時候,例如(rú):
dd if=/dev/zero of=/swapfile bs=1024 count=65536
制作(zuò)驅動盤的時候,例如(rú),将硬盤上的驅動文件(jiàn)複制到一個軟驅中:
dd if=rhel40.img of=/dev/fd0 bs=10k
或者
dd if=mptlinux-3.02.68-1-rhel4.i686.dd of=/dev/fd0 bs=10k
制作(zuò)ISO鏡像的時候,例如(rú):
dd if=/dev/cdrom of=/root/cd1.iso
當然也可(kě)以用mkisofs命令來(lái)制作(zuò)ISO鏡像。
另外,重裝系統的時候,我喜歡用dd命令來(lái)破壞系統的分(fēn)區表,由于此命令破壞性極大(dà),會帶來(lái)嚴重的後果。爲了防止讀(dú)者誤操作(zuò),這裡(lǐ)就(jiù)不介紹了,有興趣的讀(dú)者可(kě)自(zì)行研究。
下面将分(fēn)别介紹dd命令的參數,如(rú)下所示:
if=file
上述參數表示輸入文件(jiàn)名,默認爲标準輸入。
of=file
上述參數表示輸出文件(jiàn)名,默認爲标準輸出。
ibs=bytes
上述參數表示一次讀(dú)入bytes個字節(即一個塊大(dà)小爲bytes個字節)。
obs=bytes
上述參數表示一次寫bytes個字節(即一個塊大(dà)小爲bytes個字節)。
bs=bytes
上述參數表示同時設置讀(dú)寫塊的大(dà)小爲bytes,可(kě)代替ibs和obs。
cbs=bytes
上述參數表示一次轉換bytes個字節,即轉換緩沖區大(dà)小。
skip=blocks
上述參數表示從(cóng)輸入文件(jiàn)開頭跳(tiào)過blocks個塊後再開始複制。
seek=blocks
上述參數表示從(cóng)輸出文件(jiàn)開頭跳(tiào)過blocks個塊後再開始複制(通常當輸出文件(jiàn)是磁盤或磁帶時才有效)。
count=blocks
上述參數表示僅複制blocks個塊,塊大(dà)小等于ibs指定的字節數。
本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!
上一篇: 物聯網對通信網絡的需求
售後保障
承諾任何問(wèn)題1小時内解決數據備份
更安全、更高效、更穩定價格公道精準
項目經理(lǐ)精準報價不弄虛作(zuò)假合作(zuò)無風(fēng)險
重合同講信譽,無效全額退款