Linux - 磁盘操作
生活随笔
收集整理的這篇文章主要介紹了
Linux - 磁盘操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linux 磁盤常見操作 :
df -Ph # 查看硬盤容量 df -T # 查看磁盤分區(qū)格式 df -i # 查看inode節(jié)點(diǎn) 如果inode用滿后無法創(chuàng)建文件 du -h 目錄 # 檢測(cè)目錄下所有文件大小 du -sh * # 顯示當(dāng)前目錄中子目錄的大小mount -l # 查看分區(qū)掛載情況fdisk -l # 查看磁盤分區(qū)狀態(tài) fdisk /dev/hda3 # 分區(qū) mkfs -t ext3 /dev/hda3 # 格式化分區(qū) fsck -y /dev/sda6 # 對(duì)文件系統(tǒng)修復(fù)lsof |grep delete # 釋放進(jìn)程占用磁盤空間 列出進(jìn)程后,查看文件是否存在,不存在則kill掉此進(jìn)程tmpwatch -afv 10 /tmp # 刪除10小時(shí)內(nèi)未使用的文件 勿在重要目錄使用cat /proc/filesystems # 查看當(dāng)前系統(tǒng)支持文件系統(tǒng)mount -o remount,rw / # 修改只讀文件系統(tǒng)為讀寫 smartctl -H /dev/sda # 檢測(cè)硬盤狀態(tài) smartctl -i /dev/sda # 檢測(cè)硬盤信息 smartctl -a /dev/sda # 檢測(cè)所有信息e2label /dev/sda5 # 查看卷標(biāo) e2label /dev/sda5 new-label # 創(chuàng)建卷標(biāo) ntfslabel -v /dev/sda8 new-label # NTFS添加卷標(biāo) tune2fs -j /dev/sda # ext2分區(qū)轉(zhuǎn)ext3分區(qū) mke2fs -b 2048 /dev/sda5 # 指定索引塊大小dumpe2fs -h /dev/sda5 # 查看超級(jí)塊的信息mount -t iso9660 /dev/dvd /mnt # 掛載光驅(qū) mount -t ntfs-3g /dev/sdc1 /media/yidong # 掛載ntfs硬盤 mount -t nfs 10.0.0.3:/opt/images/ /data/img # 掛載nfs 需要重載 /etc/init.d/nfs reload 重啟需要先啟動(dòng) portmap 服務(wù) mount -o loop /software/rhel4.6.iso /mnt/ # 掛載鏡像文件?
磁盤IO性能檢測(cè):
iostat -x 1 10% user # 顯示了在用戶級(jí)(應(yīng)用程序)執(zhí)行時(shí)生成的 CPU 使用率百分比。 % system # 顯示了在系統(tǒng)級(jí)(內(nèi)核)執(zhí)行時(shí)生成的 CPU 使用率百分比。 % idle # 顯示了在 CPU 空閑并且系統(tǒng)沒有未完成的磁盤 I/O 請(qǐng)求時(shí)的時(shí)間百分比。 % iowait # 顯示了 CPU 空閑期間系統(tǒng)有未完成的磁盤 I/O 請(qǐng)求時(shí)的時(shí)間百分比。rrqm/s # 每秒進(jìn)行 merge 的讀操作數(shù)目。即 delta(rmerge)/s wrqm/s # 每秒進(jìn)行 merge 的寫操作數(shù)目。即 delta(wmerge)/s r/s # 每秒完成的讀 I/O 設(shè)備次數(shù)。即 delta(rio)/s w/s # 每秒完成的寫 I/O 設(shè)備次數(shù)。即 delta(wio)/s rsec/s # 每秒讀扇區(qū)數(shù)。即 delta(rsect)/s wsec/s # 每秒寫扇區(qū)數(shù)。即 delta(wsect)/s rkB/s # 每秒讀K字節(jié)數(shù)。是 rsect/s 的一半,因?yàn)槊可葏^(qū)大小為512字節(jié)。(需要計(jì)算) wkB/s # 每秒寫K字節(jié)數(shù)。是 wsect/s 的一半。(需要計(jì)算) avgrq-sz # 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。delta(rsect+wsect)/delta(rio+wio) avgqu-sz # 平均I/O隊(duì)列長度。即 delta(aveq)/s/1000 (因?yàn)閍veq的單位為毫秒)。 await # 平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm # 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)。即 delta(use)/delta(rio+wio) %util # 一秒中有百分之多少的時(shí)間用于 I/O 操作,或者說一秒中有多少時(shí)間 I/O 隊(duì)列是非空的。即 delta(use)/s/1000 (因?yàn)閡se的單位為毫秒)?
IO性能衡量標(biāo)準(zhǔn):
1、 如果 %util 接近 100%,說明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。 2、 idle 小于70% IO壓力就較大了,一般讀取速度有較多的wait. 3、 同時(shí)可以結(jié)合 vmstat 查看查看b參數(shù)(等待資源的進(jìn)程數(shù))和wa參數(shù)(IO等待所占用的CPU時(shí)間的百分比,高過30%時(shí)IO壓力高) 4、 svctm 一般要小于 await (因?yàn)橥瑫r(shí)等待的請(qǐng)求的等待時(shí)間被重復(fù)計(jì)算了),svctm 的大小一般和磁盤性能有關(guān),CPU/內(nèi)存的負(fù)荷也會(huì)對(duì)其有影響,請(qǐng)求過多也會(huì)間接導(dǎo)致 svctm 的增加. await 的大小一般取決于服務(wù)時(shí)間(svctm) 以及 I/O 隊(duì)列的長度和 I/O 請(qǐng)求的發(fā)出模式. 如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時(shí)間;如果 await 遠(yuǎn)大于 svctm,說明 I/O 隊(duì)列太長,應(yīng)用得到的響應(yīng)時(shí)間變慢,如果響應(yīng)時(shí)間超過了用戶可以容許的范圍,這時(shí)可以考慮更換更快的磁盤,調(diào)整內(nèi)核 elevator 算法,優(yōu)化應(yīng)用,或者升級(jí) CPU 5、 隊(duì)列長度(avgqu-sz)也可作為衡量系統(tǒng) I/O 負(fù)荷的指標(biāo),但由于 avgqu-sz 是按照單位時(shí)間的平均值,所以不能反映瞬間的 I/O 洪水。?
創(chuàng)建swap文件方法:
dd if=/dev/zero of=/swap bs=1024 count=4096000 # 創(chuàng)建一個(gè)足夠大的文件 # count的值等于1024 x 你想要的文件大小, 4096000是4Gmkswap /swap # 把這個(gè)文件變成swap文件 swapon /swap # 啟用這個(gè)swap文件/swap swap swap defaults 0 0 # 在每次開機(jī)的時(shí)候自動(dòng)加載swap文件, 需要在 /etc/fstab 文件中增加一行cat /proc/swaps # 查看swap swapoff -a # 關(guān)閉swap swapon -a # 開啟swap?
新硬盤掛載:
fdisk /dev/sdc p # 打印分區(qū) d # 刪除分區(qū) n # 創(chuàng)建分區(qū),(一塊硬盤最多4個(gè)主分區(qū),擴(kuò)展占一個(gè)主分區(qū)位置。p主分區(qū) e擴(kuò)展) w # 保存退出mkfs -t ext3 -L 卷標(biāo) /dev/sdc1 # 格式化相應(yīng)分區(qū) mount /dev/sdc1 /mnt # 掛載vi /etc/fstab # 添加開機(jī)掛載分區(qū) LABEL=/data /data ext3 defaults 1 2 # 用卷標(biāo)掛載 /dev/sdb1 /data4 ext3 defaults 1 2 # 用真實(shí)分區(qū)掛載 /dev/sdb2 /data4 ext3 noatime,defaults 1 2 第一個(gè)數(shù)字"1"該選項(xiàng)被"dump"命令使用來檢查一個(gè)文件系統(tǒng)應(yīng)該以多快頻率進(jìn)行轉(zhuǎn)儲(chǔ),若不需要轉(zhuǎn)儲(chǔ)就設(shè)置該字段為0 第二個(gè)數(shù)字"2"該字段被fsck命令用來決定在啟動(dòng)時(shí)需要被掃描的文件系統(tǒng)的順序,根文件系統(tǒng)"/"對(duì)應(yīng)該字段的值應(yīng)該為1,其他文件系統(tǒng)應(yīng)該為2。若該文件系統(tǒng)無需在啟動(dòng)時(shí)掃描則設(shè)置該字段為0 當(dāng)以 noatime 選項(xiàng)加載(mount)文件系統(tǒng)時(shí),對(duì)文件的讀取不會(huì)更新文件屬性中的atime信息。設(shè)置noatime的重要性是消除了文件系統(tǒng)對(duì)文件的寫操作,文件只是簡單地被系統(tǒng)讀取。由于寫操作相對(duì)讀來說要更消耗系統(tǒng)資源,所以這樣設(shè)置可以明顯提高服務(wù)器的性能.wtime信息仍然有效,任何時(shí)候文件被寫,該信息仍被更新。?
磁盤大于 2T 分區(qū):
parted /dev/sdb # 針對(duì)磁盤分區(qū) (parted) mklabel gpt # 設(shè)置為 gpt (parted) print (parted) mkpart primary 0KB 22.0TB # 指定分區(qū)大小 Is this still acceptable to you? Yes/No? Yes Ignore/Cancel? Ignore (parted) print Model: LSI MR9271-8i (scsi) Disk /dev/sdb: 22.0TB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 22.0TB 22.0TB primary (parted) quit mkfs.ext4 -b 4096 /dev/sdb1 # 小于16T如使用ext4指定塊大小 塊大小影響磁盤分區(qū)大小 mkfs.xfs -f /dev/sdb1 # 大于16T必須使用XFS分區(qū)?
?
轉(zhuǎn)載于:https://www.cnblogs.com/sharesdk/p/8689015.html
總結(jié)
以上是生活随笔為你收集整理的Linux - 磁盘操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS 调试(debug)
- 下一篇: poj3190 区间贪心 挑战程序设计竞