Linux System - JackieZG/TheDailyBugle GitHub Wiki

/proc 文件系统

存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。

top

cat meminfo


/proc # cat meminfo
cat meminfo
MemTotal:         161196 kB
MemFree:           25700 kB
MemAvailable:     104560 kB
Buffers:               0 kB
Cached:            77264 kB
SwapCached:            0 kB
Active:            81552 kB
Inactive:          10352 kB
Active(anon):      14660 kB
Inactive(anon):      100 kB
Active(file):      66892 kB
Inactive(file):    10252 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                44 kB
Writeback:             0 kB
AnonPages:         14664 kB
Mapped:             6360 kB
Shmem:               120 kB
Slab:              20044 kB
SReclaimable:       7668 kB
SUnreclaim:        12376 kB
KernelStack:        2392 kB
PageTables:         1332 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       80596 kB
Committed_AS:    1295256 kB
VmallocTotal:     761856 kB
VmallocUsed:       33268 kB
VmallocChunk:     705404 kB

解释; MemTotal: 系统总的可用物理内存大小,这里是161196 kB(约157.4 MB)。 MemFree: 完全未被使用的物理内存量,即随时可用于分配给进程的内存,这里是25700 kB(约25.0 MB)。 MemAvailable: 可以立即被应用程序使用的内存总量,考虑了内核的内存回收策略和缓存等,这里是104560 kB(约102.1 MB)。 Buffers: 用来存储文件系统的缓冲数据的内存量,当前为0 kB。 Cached: 文件系统缓存占用的内存量,当需要时这部分内存可以快速释放给其他用途,这里是77264 kB(约75.5 MB)。 SwapCached: 从交换分区(如果启用的话)中调入内存后仍然被缓存的部分,当前为0 kB,意味着没有使用交换分区。 Active/Inactive: 分别表示活跃(经常被访问)和非活跃(较少访问)的内存页面。活跃内存可能包括正在使用的程序数据,非活跃内存可能是较长时间未访问的数据。Active为81552 kB(约79.7 MB),Inactive为10352 kB(约10.1 MB)。 SwapTotal/SwapFree: 系统交换分区的总大小和当前空闲的空间。这里两者都为0 kB,表明系统没有配置或没有使用交换分区。 Dirty/Writeback: 脏页(需要写回磁盘的内存数据)和正在写回过程中的内存数量,分别这里是44 kB和0 kB。 AnonPages/Mapped/Shmem: 匿名页面(未关联到文件的内存)、映射文件的内存量、共享内存的大小。 Slab: 内核数据结构缓存所占的内存,SReclaimable表示可以回收的Slab内存,SUnreclaim表示不可回收的Slab内存。 KernelStack/PageTables: 内核栈和页表占用的内存大小。 CommitLimit/Committed_AS: 系统当前的内存承诺限制和已分配的虚拟内存总量。 VmallocTotal/VmallocUsed/VmallocChunk: 虚拟内存分配器的统计信息,包括总大小、已用大小和最大的连续未分配块 大约有56636 kB(约等于55.3 MB)的内存被使用或以不太活跃的形式分配出去

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
400000
/ #

CPU0的运行频率是400,000 kHz,即为400 MHz; MemAvailable: 可以立即被应用程序使用的内存总量,考虑了内核的内存回收策略和缓存等,这里是104560 kB(约102.1 MB);