提高IO效能(只需要設定 noatime)

2021-08-25 06:49:25 字數 1169 閱讀 3830

相信對效能、優化這些關鍵字有興趣的朋友都知道在 linux 下面掛載檔案系統的時候設定 noatime 可以顯著提高檔案系統的效能。預設情況下,linux ext2/ext3 檔案系統在檔案被訪問、建立、修改等的時候記錄下了檔案的一些時間戳,比如:檔案建立時間、最近一次修改時間和最近一次訪問時間。因為系統執行的時候要訪問大量檔案,如果能減少一些動作(比如減少時間戳的記錄次數等)將會顯著提高磁碟 io 的效率、提公升檔案系統的效能。linux 提供了 noatime 這個引數來禁止記錄最近一次訪問時間戳。

給檔案系統掛載的時候加上 noatime 引數能大幅提高檔案系統效能:

# vi /etc/fstab

/dev/sda1 / ext3 defaults,noatime,errors=remount-ro 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

proc /proc proc defaults 0 0

/dev/sda2 swap swap defaults,noatime 0 0

修改設定後只需要重新掛載檔案系統、不需要重啟就可以應用新設定:

# mount -o remount /

# mount

/dev/sda1 on / type ext3 (rw,noatime,errors=remount-ro)

proc on /proc type proc (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

網上很多資料都提到要同時設定 noatime 和 nodiratime,不知道這個結論來自**,其實不需要像設定 noatime 那樣設定 nodiratime,最可靠的資料應該是源**,vpsee 查了一下源**,發現在核心源** linux-2.6.33/fs/inode.c 檔案裡有乙個 touch_atime 函式,可以看出如果 inode 的標記位是 noatime 的話就直接返回了,根本就走不到 nodiratime 那裡去,所以只設定 noatime 就可以了,不必再設定 nodiratime.

void touch_atime(struct vfsmount *mnt, struct dentry *dentry)

1405

只需要乙份需求

這兩個月來,主要都是在進行和需求相關的培訓和諮詢,我發現在行業裡乙個根深蒂固的認識是需要 可以存在多份不同格式的分立的需求文件 業務人員可以寫乙份意識流的業務 客戶 需求文件,開發人員可以在再寫乙份充斥著分析結果及 it術語的軟體 軟體 需求,測試人員則可以寫乙份閉門造車的測試需求。好像每個人都很好...

只需要乙份需求

這兩個月來,主要都是在進行和需求相關的培訓和諮詢,我發現在行業裡乙個根深蒂固的認識是需要 可以存在多份不同格式的分立的需求文件 業務人員可以寫乙份意識流的業務 客戶 需求文件,開發人員可以在再寫乙份充斥著分析結果及it術語的軟體 軟體 需求,測試人員則可以寫乙份閉門造車的測試需求。好像每個人都很好的...

自律只需要這篇文章

1.鑽研,只要你有乙個方面特別優秀,則在這個社會就足夠了,能夠吃一輩子 2.領悟,需要的時候,別人給你只是乙個具體的方向,具體的路還是要自己去設計 3.執行力,晚上喜歡想想沒有小本本記錄,那麼第二天就忘了,所以床頭一定備個備忘錄,還要有行動能力,不然你就不要記錄,最好就不要想 4.落實,每天幻想自己...