Hard-Disk

從驅動器 A 到驅動器 B 的符號連結是否會影響驅動器 A 上的 I/O?

  • October 17, 2012

我想知道通過符號連結的 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 更新。如果是這樣,並且您沒有使用relatimeor執行noatime,那麼這些寫入可能會增加相當多的負載。如果您正在執行完整的 atime 更新,我建議您至少relatime盡可能切換到。這可能會幫助您的 I/O 負載。有關詳細資訊,請參見mount(8)手冊頁。

引用自:https://unix.stackexchange.com/questions/51913