Proc

反复閱讀 /proc 是否昂貴?

  • December 16, 2018

由於內容存在/proc於記憶體中,重複讀取它的內容(例如每秒)有多昂貴?一個程序是否喜歡tophtop或者atop這樣做(/proc在每個給定的時間間隔內閱讀)?

/proc在正常情況下,每秒讀取使用者的數據並不昂貴。然而,有幾個文件可能很昂貴,因為它們需要核心端鎖定,這可能會延遲其他事情。

例如,這可能是這樣的情況:https ://serverfault.com/questions/943866/proc-sys-net-netfilter-nf-conntrack-count-extreme-drop-when-reading-proc-net-n

出於多種原因,程序喜歡top並將conntrack嘗試使用其他方式(例如):netlink

  • /proc是一種基於文本的方法,不是 100% 穩定的。一個程序需要掃描一個文件並解析它,希望它不會隨著核心版本而改變
  • 如前所述,某些 /proc 文件的讀取成本可能很高,這也取決於它們的大小
  • netlink方法可以返回比/proc

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