linux_procfs/
meminfo.rs

1#[derive(Debug, Default, Clone)]
2pub struct MemInfo {
3    //
4    pub mem_total_kb: usize,
5    //
6    pub mem_free_kb: usize,
7    //
8    //{{{ >= linux v3.14
9    //
10    #[cfg(feature = "has_meminfo_mem_available")]
11    pub mem_available_kb: usize,
12    //}}}
13    //
14    pub buffers_kb: usize,
15    //
16    pub cached_kb: usize,
17    //
18    pub swap_cached_kb: usize,
19    //
20    pub active_kb: usize,
21    //
22    pub inactive_kb: usize,
23    //
24    //{{{ >= linux v2.6.28
25    //
26    #[cfg(feature = "has_meminfo_active_anon")]
27    pub active_anon_kb: usize,
28    //
29    #[cfg(feature = "has_meminfo_inactive_anon")]
30    pub inactive_anon_kb: usize,
31    //
32    #[cfg(feature = "has_meminfo_active_file")]
33    pub active_file_kb: usize,
34    //
35    #[cfg(feature = "has_meminfo_inactive_file")]
36    pub inactive_file_kb: usize,
37    //}}}
38    //
39    //{{{ >= linux v2.6.28 && CONFIG_UNEVICTABLE_LRU
40    //
41    #[cfg(feature = "has_meminfo_unevictable")]
42    pub unevictable_kb: usize,
43    //
44    #[cfg(feature = "has_meminfo_mlocked")]
45    pub mlocked_kb: usize,
46    //}}}
47    //
48    //{{{ >= linux v2.6.18 && CONFIG_HIGHMEM
49    //
50    #[cfg(feature = "has_meminfo_high_total")]
51    pub high_total_kb: usize,
52    //
53    #[cfg(feature = "has_meminfo_high_free")]
54    pub high_free_kb: usize,
55    //
56    #[cfg(feature = "has_meminfo_low_total")]
57    pub low_total_kb: usize,
58    //
59    #[cfg(feature = "has_meminfo_low_free")]
60    pub low_free_kb: usize,
61    //}}}
62    //{{{ >= linux v2.6.29 && CONFIG_MMU
63    //
64    #[cfg(feature = "has_meminfo_mmap_copy")]
65    pub mmap_copy_kb: usize,
66    //}}}
67    //
68    pub swap_total_kb: usize,
69    //
70    pub swap_free_kb: usize,
71    //
72    #[cfg(feature = "has_meminfo_dirty")]
73    pub dirty_kb: usize,
74    #[cfg(feature = "has_meminfo_writeback")]
75    pub writeback_kb: usize,
76    #[cfg(feature = "has_meminfo_anon_pages")]
77    pub anon_pages_kb: usize,
78    #[cfg(feature = "has_meminfo_mapped")]
79    pub mapped_kb: usize,
80    #[cfg(feature = "has_meminfo_slab")]
81    pub slab_kb: usize,
82    #[cfg(feature = "has_meminfo_slab_reclaimable")]
83    pub slab_reclaimable_kb: usize,
84    #[cfg(feature = "has_meminfo_slab_unreclaim")]
85    pub slab_unreclaim_kb: usize,
86    #[cfg(feature = "has_meminfo_page_tables")]
87    pub page_tables_kb: usize,
88    #[cfg(feature = "has_meminfo_nfs_unstable")]
89    pub nfs_unstable_kb: usize,
90    #[cfg(feature = "has_meminfo_bounce")]
91    pub bounce_kb: usize,
92    #[cfg(feature = "has_meminfo_commit_limit")]
93    pub commit_limit_kb: usize,
94    #[cfg(feature = "has_meminfo_commit_as")]
95    pub commited_as_kb: usize,
96    #[cfg(feature = "has_meminfo_vmalloc_total")]
97    pub vmalloc_total_kb: usize,
98    #[cfg(feature = "has_meminfo_vmalloc_used")]
99    pub vmalloc_used_kb: usize,
100    #[cfg(feature = "has_meminfo_vmalloc_chunk")]
101    pub vmalloc_chunk_kb: usize,
102}
103//
104/*
105linux v2.6.18
106//
107Dirty:              1608 kB
108Writeback:             0 kB
109AnonPages:       4271260 kB
110Mapped:           590436 kB
111Shmem:            118376 kB
112Slab:             858920 kB
113SReclaimable:     780088 kB
114SUnreclaim:        78832 kB
115KernelStack:       17392 kB
116PageTables:        84148 kB
117NFS_Unstable:          0 kB
118Bounce:                0 kB
119WritebackTmp:          0 kB
120CommitLimit:    37641712 kB
121Committed_AS:   12620632 kB
122VmallocTotal:   34359738367 kB
123VmallocUsed:           0 kB
124VmallocChunk:          0 kB
125HardwareCorrupted:     0 kB
126AnonHugePages:         0 kB
127CmaTotal:              0 kB
128CmaFree:               0 kB
129HugePages_Total:       0
130HugePages_Free:        0
131HugePages_Rsvd:        0
132HugePages_Surp:        0
133Hugepagesize:       2048 kB
134DirectMap4k:      992960 kB
135DirectMap2M:     7395328 kB
136*/
137//