怎么查看linux每个进程的内存大小

发布网友 发布时间:2022-04-22 13:12

我来回答

2个回答

热心网友 时间:2022-05-04 17:07

我不知道如何查看。但记得Linux(32位)中每个进程独享4GB的进程空间,需要注意的是这4G指的是虚拟内存,而非物理内存。可以查阅一下Linux虚拟内存机制相关资料。

要定制的话难度大啊!内核文件里用进程描述符(thread_info)表示一个进程,它是一个结构体,里面有个关于进程内存分配的字段(addr_limit)。具体自己研究研究吧!

如果只是对某个进程分配空间的话就简单多了。假如你要为当前进程设置2M的内存上限,可以通过current->addr_limit=2048实现。

热心网友 时间:2022-05-04 18:25

ps aufx

其中RSS为程序的实际内存空间,VSZ为程序的虚拟内存空间

RSS: resident set size, the non-swapped physical memory that a task has used (in kiloBytes)
VSZ: virtual memory usage of entire process. vm_lib + vm_exe + vm_data + vm_stack

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 4752 568 ? S 2009 0:00 init [3]
root 2 0.0 0.0 0 0 ? S 2009 1:07 [migration/0]
root 3 0.0 0.0 0 0 ? SN 2009 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< 2009 0:00 [events/0]

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com