我们如何通过总结linux中进程占用的内存和可用内存来达到RAM大小?
我想知道如何计算总RAM,我们如何通过总结cat proc/meminfo命令的输出来达到RAM大小 Memtotal=MemFree+我们如何通过总结linux中进程占用的内存和可用内存来达到RAM大小?,linux,memory,linux-kernel,Linux,Memory,Linux Kernel,我想知道如何计算总RAM,我们如何通过总结cat proc/meminfo命令的输出来达到RAM大小 Memtotal=MemFree+ 任何人都可以提供帮助要做到这一点,您需要一个考虑共享内存的工具 例如: PSS在这里是一个有趣的专栏,因为它将共享内存考虑在内。将RSS添加在一起将导致共享内存段被计数多次,因此数字不会相加 因此,用户区进程总共占用654Mb # smem -tw Area Used Cache Noncach
任何人都可以提供帮助要做到这一点,您需要一个考虑共享内存的工具 例如: PSS在这里是一个有趣的专栏,因为它将共享内存考虑在内。将RSS添加在一起将导致共享内存段被计数多次,因此数字不会相加 因此,用户区进程总共占用654Mb
# smem -tw
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 345784 297092 48692
userspace memory 654056 181076 472980
free memory 15828 15828 0
----------------------------------------------------------
1015668 493996 521672
内核使用346Mb,还有16Mb的空闲空间。
总的来说,大约一半的内存用于缓存494Mb
因此1Gb内存总量=654Mb用户区进程,分解为+346Mb内核内存+16Mb空闲内存
给定或获取几Mb当操作系统已导出此信息时,为什么要让进程计算可用的总内存?您必须使用dmidecode或cat/proc/meminfo | grep-i Total提供的输出。如何使用proc/meminfo命令输出详细信息。哪一个字段与process相关实际上,如果你想学习这些东西,一个非常好的练习就是重写smem。您将了解有关解析/proc数据、获取共享mem段信息、计算PSS等的所有内容
# smem -tw
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 345784 297092 48692
userspace memory 654056 181076 472980
free memory 15828 15828 0
----------------------------------------------------------
1015668 493996 521672