- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
1.每個文件內(nèi)節(jié)點和目錄內(nèi)節(jié)點都有三個與之相關(guān)的時間戳:
ctime — 最后一次修改內(nèi)節(jié)點狀態(tài)的時間
mtime — 最后一次修改文件(或者目錄)數(shù)據(jù)的時間
atime — 最后一次訪問文件(或者目錄)數(shù)據(jù)的時間
你可以通過stat來查看文件的mtime,ctime,atime等屬性,也可以通過ls命令來查看,具體如下:
stat filename
2.ls命令查看:
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
3.atime更新的一些問題及解決方法
如果啟用了 atime 更新,因為在 GFS2 和其它 Linux 文件系統(tǒng)中這是默認(rèn)設(shè)置,那么每次在讀取文件時都需要更新其內(nèi)節(jié)點。
根據(jù) POSIX 的規(guī)定,Linux 以及 Unix 等系統(tǒng)都要為系統(tǒng)中的所有文件記錄文件的最后訪問時間,叫做 atime。對于某些應(yīng)用來說,atime 是很重要的信息。比如一些郵件程序會通過郵件文件的 atime 來判斷此郵件是否已讀;一些備份和清理程序會根據(jù)文件在多長時間內(nèi)沒有被訪問,來決定是否對文件進(jìn)行清理和歸檔。
但是對于大部分應(yīng)用來說,atime 信息并不重要,而系統(tǒng)更新 atime 所帶來的開銷卻是巨大的。因為系統(tǒng)每訪問一次某個文件,就要對這個文件更新一個新的 atime 時間值。我這里所說的訪問,并不是從用戶角度來看的打開一個文件,而是系統(tǒng)底層的每一次 open 和 read 等操作。設(shè)想一下,我們每對文件進(jìn)行一次讀操作,都要引起一個對磁盤的寫操作,即使我們要讀的內(nèi)容已經(jīng)存在于內(nèi)存的 Page Cache 中,還是要對磁盤進(jìn)行一個寫操作。這樣引起的開銷確實是巨大的,這些寫操作會使磁盤更多的處于忙碌狀態(tài),這對系統(tǒng)性能(因為磁盤在完成一個寫操作的時候會暫時阻止其他的寫操作)以及電量消耗都是不利的。
使用 noatime 掛載用來降低 atime 更新效果的方法
使用 noatime 掛載,可在那個文件系統(tǒng)中禁用 atime 更新。
當(dāng)掛載文件系統(tǒng)時,可指定 Linux 掛載選項 noatime,它可在那個文件系統(tǒng)中禁用 atime 更新。
用法
mount BlockDevice MountPoint -o noatime
示例:mount /dev/sdb5 /home/sdb5 -o noatime
也可以將 noatime 選項寫在 /etc/fstab 文件里。
如果不想對整個文件系統(tǒng)禁止 atime 更新,而只是想針對某些文件或目錄禁止,則可以通過 chattr 命令來完成,如下面的命令:
chattr -R +A /some/dir
可以對某個目錄及其下面的所有文件禁止 atime 更新
提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP