发布网友 发布时间: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]