cat / proc / meminfo ตัวเลขเหล่านั้นหมายความว่าอย่างไร


43

ในการอ่าน man page บนคำสั่งฟรีใน Linux ฉันพบว่าได้รับข้อมูลจาก/proc/meminfo.

ผมเข้าใจไม่กี่ของรายการเช่นและMemTotal MemFreeสิ่งที่เหลือหมายถึงอะไร

cat / proc / meminfo 
MemTotal: 3973736 kB
MemFree: 431064 kB
บัฟเฟอร์: 46604 kB
แคช: 494648 kB
SwapCached: 11360 kB
ใช้งานอยู่: 2322760 kB
ไม่ใช้งาน: 933028 kB
ใช้งานอยู่ (anon): 2057952 kB
ไม่ใช้งาน (anon): 679956 kB
ใช้งานอยู่ (ไฟล์): 264808 kB
ไม่ใช้งาน (ไฟล์): 253072 kB
ไม่สามารถคาดเดาได้: 16 kB
Mlocked: 16 kB
SwapTotal: 4096568 kB
SwapFree: 3961748 kB
Dirty: 236 kB
ข้อผิดพลาด: 0 kB
AnonPages: 2704520 kB
แผนที่: 182240 kB
Shmem: 23372 kB
พื้น: 93848 kB
SReclaimable: 52044 kB
ประกาศ: 41804 kB
KernelStack: 5064 kB
ตารางหน้า: 64928 kB
NFS_Unstable: 0 kB
ตีกลับ: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6083436 kB
Committed_AS: 7327800 kB
จำนวนทั้งหมด: 34359738367 kB
VmallocUsed: 321156 kB
VmallocChunk: 34359411708 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
ขนาดที่ต้องการ: 2048 kB
DirectMap4k: 225280 kB
DirectMap2M: 3895296 kB

คำตอบ:


43

ฉันได้จากเอกสาร centos

ข้อมูลส่วนใหญ่ที่นี่ถูกใช้โดยคำสั่ง free, top และ ps ในความเป็นจริงเอาต์พุตของคำสั่ง free คล้ายกับเนื้อหาและโครงสร้างของ / proc / meminfo แต่ด้วยการดูโดยตรงที่ / proc / meminfo รายละเอียดเพิ่มเติมจะถูกเปิดเผย:

MemTotal - จำนวน RAM ทั้งหมดในหน่วยกิโลไบต์

MemFree - จำนวนของ RAM จริงในหน่วยกิโลไบต์เหลือไว้โดยระบบ

บัฟเฟอร์ - จำนวนแรมจริงในหน่วยกิโลไบต์ที่ใช้สำหรับบัฟเฟอร์ไฟล์

Cached - จำนวน RAM จริงในหน่วยกิโลไบต์ที่ใช้เป็นหน่วยความจำแคช

SwapCached - จำนวน swap ในหน่วยกิโลไบต์ที่ใช้เป็นหน่วยความจำแคช

แอ็คทีฟ - จำนวนบัฟเฟอร์หรือหน่วยความจำแคชเพจทั้งหมดหน่วยเป็นกิโลไบต์ที่ใช้งานอยู่ นี่คือหน่วยความจำที่ใช้ล่าสุดและมักจะไม่เรียกคืนเพื่อวัตถุประสงค์อื่น

Inactive - จำนวนบัฟเฟอร์หรือหน่วยความจำแคชหน้าทั้งหมดหน่วยเป็นกิโลไบต์ที่ว่างและพร้อมใช้งาน นี่คือหน่วยความจำที่ไม่ได้ใช้เมื่อเร็ว ๆ นี้และสามารถเรียกคืนเพื่อวัตถุประสงค์อื่น

HighTotal and HighFree - จำนวนหน่วยความจำทั้งหมดและฟรีหน่วยเป็นกิโลไบต์ที่ไม่ได้แม็พเข้ากับพื้นที่เคอร์เนลโดยตรง ค่า HighTotal สามารถเปลี่ยนแปลงได้ตามชนิดของเคอร์เนลที่ใช้

LowTotal และ LowFree - จำนวนหน่วยความจำทั้งหมดและฟรีหน่วยเป็นกิโลไบต์ที่ถูกแม็พเข้ากับพื้นที่เคอร์เนลโดยตรง ค่า LowTotal สามารถเปลี่ยนแปลงได้ตามชนิดของเคอร์เนลที่ใช้

SwapTotal - จำนวน swap ทั้งหมดที่มีในหน่วยกิโลไบต์

SwapFree - จำนวนทั้งหมดของการแลกเปลี่ยนฟรีหน่วยเป็นกิโลไบต์

Dirty - จำนวนหน่วยความจำทั้งหมด, หน่วยเป็นกิโลไบต์, กำลังรอการเขียนกลับไปยังดิสก์ Writeback - จำนวนหน่วยความจำทั้งหมดในหน่วยกิโลไบต์ซึ่งถูกเขียนลงดิสก์อย่างแข็งขัน

Mapped - จำนวนหน่วยความจำทั้งหมดหน่วยเป็นกิโลไบต์ซึ่งถูกใช้เพื่อแม็พอุปกรณ์ไฟล์หรือไลบรารีโดยใช้คำสั่ง mmap

Slab - จำนวนหน่วยความจำทั้งหมด, หน่วยเป็นกิโลไบต์, ใช้โดยเคอร์เนลเพื่อแคชโครงสร้างข้อมูลสำหรับการใช้งานของตัวเอง

Committed_AS - จำนวนหน่วยความจำทั้งหมดหน่วยเป็นกิโลไบต์โดยประมาณเพื่อทำให้เวิร์กโหลดสมบูรณ์ ค่านี้แทนค่าสถานการณ์จำลองที่แย่ที่สุดและยังรวมถึงหน่วยความจำสลับ PageTables - จำนวนหน่วยความจำทั้งหมด, หน่วยเป็นกิโลไบต์, ซึ่งอุทิศให้กับระดับตารางเพจต่ำสุด

VMallocTotal - จำนวนหน่วยความจำทั้งหมดในหน่วยกิโลไบต์ของการจัดสรรพื้นที่ที่อยู่เสมือนทั้งหมด

VMallocUsed - จำนวนหน่วยความจำทั้งหมดในหน่วยกิโลไบต์ของพื้นที่ที่อยู่เสมือนที่ใช้

VMallocChunk - บล็อกหน่วยความจำต่อเนื่องที่ใหญ่ที่สุดในหน่วยกิโลไบต์ของพื้นที่ที่อยู่เสมือนที่มีอยู่

HugePages_Total - จำนวน hugepages ทั้งหมดสำหรับระบบ จำนวนที่ได้รับมาจากการหาร Hugepagesize โดยเมกะไบต์ที่ตั้งสำรองสำหรับ hugepages ที่ระบุใน / proc / sys / vm / hugetlb_pool สถิตินี้ปรากฏในสถาปัตยกรรม x86, Itanium และ AMD64 เท่านั้น

HugePages_Free - จำนวน hugepages ทั้งหมดที่มีสำหรับระบบ สถิตินี้ปรากฏในสถาปัตยกรรม x86, Itanium และ AMD64 เท่านั้น

Hugepagesize - ขนาดสำหรับหน่วย hugepages แต่ละหน่วยในหน่วยกิโลไบต์ ตามค่าดีฟอลต์แล้วค่าคือ 4096 KB บนเคอร์เนล uniprocessor สำหรับสถาปัตยกรรม 32 บิต สำหรับ SMP, hugemem kernels และ AMD64 ค่าเริ่มต้นคือ 2048 KB สำหรับสถาปัตยกรรม Itanium ค่าเริ่มต้นคือ 262144 KB สถิตินี้ปรากฏในสถาปัตยกรรม x86, Itanium และ AMD64 เท่านั้น

บทความเหล่านี้ให้คำอธิบายที่ดีเกี่ยวกับข้อมูลใน/proc/meminfo http://www.redhat.com/advice/tips/meminfo.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc -meminfo.html
https://github.com/torvalds/linux/blob/master/Documentation/filesystems/proc.txt


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