2009-03-18 9 views
20

मैं /proc/meminfo में कुल मेमोरी, बफर, कैश इत्यादि जैसी अधिकांश जानकारी का एहसास कर सकता हूं। क्या आप मुझे बता सकते हैं कि नीचे सूचीबद्ध लोगों की तरह कम स्पष्ट लोग क्या करते हैं क्या मतलब है?प्रविष्टियां/proc/meminfo

  • AnonPages
  • मैप
  • स्लैब
  • NFS_Unstable
  • उछाल
  • VmallocTotal
  • VmallocUsed
  • VmallocChunk
, स्मृति की कुल राशि, किलोबाइट में कुल की - 10

किसी को भी सोच रहा है, तो मैं लिनक्स कमांड के उत्पादन के बारे में बात कर रहा हूँ बिल्ली/proc/meminfo

उत्तर

30

इस जानकारी का कैननिकल स्रोत /usr/src/linux/Documentation/filesystems/proc.txt है। विशेष रूप से,

AnonPages: Non-file backed pages mapped into userspace page tables 
     Mapped: files which have been mmaped, such as libraries 
     Slab: in-kernel data structures cache 
NFS_Unstable: NFS pages sent to the server, but not yet committed to stable 
     storage 
     Bounce: Memory used for block device "bounce buffers" 
VmallocTotal: total size of vmalloc memory area 
VmallocUsed: amount of vmalloc area which is used 
VmallocChunk: largest contigious block of vmalloc area which is free 
+0

वैकल्पिक लिंक जबकि kernel.org नीचे है: https://github.com/torvalds/linux/blob/master/ प्रलेखन/फ़ाइल सिस्टम/proc.txt – fennec

0

से RedHat

VMallocTotal आवंटित आभासी पता स्थान। VMallocUsed - मेमोरी, किलोबाइट्स में, वर्चुअल पता स्थान की कुल राशि। VMallocChunk - उपलब्ध वर्चुअल पता स्थान के किलोबाइट्स में स्मृति का सबसे बड़ा संगत ब्लॉक।

13

मेरे समझ इस प्रकार है।
और मैं मानता हूं कि इन संख्याओं को समझने और असंगत मूल्यों को दिखाने में मुश्किल है।

  • MemTotal

    = MemFree + Active + Inactive + Slab + PageTables + VmallocUsed + X 
    (X : alloc_pages() (get_free_pages(), etc)) 
    

    लेकिन हाल के कर्नेल के vmallocused मूल्य गलत हो सकता है। ऐसा इसलिए है क्योंकि यह वीएम_ओएलएक्सएक्स क्षेत्र के अलावा VM_IOREMAP, VM_MAP, जैसे VM_xxx क्षेत्रों की गणना करता है।

    VM_IOREMAP क्षेत्र मेमोरी मेमोरी हो सकता है जो कर्नेल के स्मृति प्रबंधन के बाहर हो सकता है, इसलिए उपर्युक्त सूत्र सटीक, या पूरी तरह से गलत नहीं हो सकता है।

    आप या तो कर सकते हैं: बाहर सभी प्रविष्टियों और फिल्टर खुद से सॉर्ट करने के

    • चेक/proc/vmallocinfo,
    • संशोधित FS/proc/MMU।c: get_vmalloc_info() क्षेत्रों गिनती करने के लिए केवल जब अगर (vma-> झंडे & VM_ALLOC)
  • सक्रिय + निष्क्रिय

    = Buffers + Cached + SwapCached + AnonPages 
    
  • AnonPages

    = /proc/*/task/*/smaps anonymous area all sum 
    (anonymous: no name|[heap]|/dev/zero|/dev/shm/*|[stack]) 
    

    हालांकि मैं हेवन ' इन नंबरों से मेल नहीं खा पाए। here देखें और यदि आपके पास कोई सुराग है तो मेरी सहायता करें।

  • कुल पेजकैश

    = Buffers + Cached + SwapCached 
    
  • स्लैब

    = SReclaimable + SUnreclaim