Hard-Disk
從驅動器 A 到驅動器 B 的符號連結是否會影響驅動器 A 上的 I/O?
我想知道通過符號連結的 IO 是否會影響主機驅動器上的 IO,即使它指向單獨的驅動器?我的設置是
/dev/sdb2 1.8T 443G 1.3T 26% /home1 /dev/sda3 1.8T 1.7T 44G 98% /home
/home/$users
使用指向的符號連結/home1/$users
(大約 50 個連結,持續 IO 流到 /home/*),這會影響 sda3 上/home/
的 IO(高負載 (34% iowait :/) 那麼,對於 34% iowait,刪除符號連結並直接查詢 /home1/ 是否會減少我的 iowait?Linux 3.2.13-grsec-xxxx-grs-ipv6-64 (sb7) 17/10/12 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 1.27 0.00 2.87 31.50 0.00 64.36 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 110.61 471.54 167.28 18.98 11076.29 1964.83 140.04 8.35 44.30 23.27 229.66 5.36 99.78 sdb 0.38 0.75 80.00 5.16 4227.02 2143.14 149.59 1.99 23.38 10.69 219.99 3.26
它可能,但不太可能。
基本上,符號連結的工作方式是在路徑名解析期間,核心讀取符號連結,並使用它來重寫路徑名。因此,每次核心解析通過它的路徑時,理論上它都會讀取符號連結。還有所有目錄。但實際上,它總是在記憶體中,所以這些讀取都沒有命中磁碟。
有可能——我不確定,真的——如果這會導致 atime 更新。如果是這樣,並且您沒有使用
relatime
or執行noatime
,那麼這些寫入可能會增加相當多的負載。如果您正在執行完整的 atime 更新,我建議您至少relatime
盡可能切換到。這可能會幫助您的 I/O 負載。有關詳細資訊,請參見mount(8)
手冊頁。