“ swap cache” ของ vmstat กับ“ SwapCached” ของ / proc / meminfo


2

ใน Fedora 24 ของฉันฉันรันคำสั่งสองคำสั่งเพื่อตรวจสอบข้อมูลหน่วยความจำอย่างไรก็ตามฉันได้ผลลัพธ์ที่แตกต่างกันสองขนาดเกี่ยวกับขนาดของแคชการแลกเปลี่ยน

คำสั่งแรกมีดังนี้:

[root@localhost ~]# vmstat -s
      4029004 K total memory
      1043700 K used memory
       742144 K active memory
       321916 K inactive memory
      2372500 K free memory
        63628 K buffer memory
       549176 K swap cache
      4063228 K total swap
            0 K used swap
      4063228 K free swap
      ......

คำสั่งที่สองมีดังนี้:

[root@localhost ~]# cat /proc/meminfo
MemTotal:        4029004 kB
MemFree:         2369712 kB
MemAvailable:    2690460 kB
Buffers:           63720 kB
Cached:           437460 kB
SwapCached:            0 kB
......

โปรดทราบ: การvmstat -sกล่าวว่า549176 K swap cacheในขณะที่พูดว่าcat /proc/meminfoSwapCached: 0 kB

คำถามของฉันคือ:

  1. มันหมายความว่าswap cacheอย่างไร
  2. มันหมายความว่าSwapCachedอย่างไร
  3. พวกเขาเป็นสิ่งเดียวกันหรือไม่ ถ้าไม่ความแตกต่างระหว่างพวกเขาคืออะไร

คำตอบ:


2

ในvmstatสนามcacheคือผลรวมของcat /proc/meminfoสาขาและCachedSlab

  • มันหมายความว่ามันประมาณไฟล์แคชบวกแคชไอโหนดบวกแคชไดเรกทอรีและแคชสำหรับวัตถุพิเศษ
  • สนามเดียวกันเรียกว่าในswap cachevmstat -s
  • ฟิลด์นี้ไม่มีอะไรเลยศูนย์ไม่มีอะไรเกี่ยวกับการสลับ เรียกชื่อผิดตามที่มักเกิดขึ้น
  • หากต้องการคำนวณสิ่งนี้จากcat /proc/vmstatฟิลด์ให้ใช้:

swap cache = nr_file_page + nr_slab_reclaimable + nr_slab_unreclaimable - meminfo_SwapCached

มองที่/proc/meminfoสนามSwapCachedนั้นไม่เกี่ยวข้อง มันไม่มีส่วนเกี่ยวข้องกับดิสก์แคชหรือแผ่นพื้น มันเป็นจำนวนแลกเปลี่ยนในหน้าหน่วยความจำที่สะอาดเช่นกัน

ดูเหมือนว่าตัวนับเดียวที่รวมไฟล์แคชกับ swap คือnr_file_page(มันถือว่า swap เป็นไฟล์ "แคช" อื่น ๆ คำศัพท์นี้ไม่เข้ากันโดยสิ้นเชิงกับเคาน์เตอร์ / เครื่องมืออื่น ๆ )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.