gpt4 book ai didi

linux - 查看为bash进程分配了多少虚拟内存

转载 作者:太空宇宙 更新时间:2023-11-04 03:44:11 25 4
gpt4 key购买 nike

我编写了一个脚本,它将虚拟或“模拟”内存分配给我创建的进程。我想知道的是,如何列出该进程有多少内存?如果我分配了一些内存,我希望它返回“进程有 x mbs”,或者如果我没有分配任何内存,则返回“进程当前没有分配内存”。

我该怎么做?我已经包含了代码片段,因为它太长,无法粘贴到此处。

  1)
read -p "Enter Memory Value [MB]" p
$script/simulate assignmem oxygen $p
sleep 5
;;

function assign_mem()
{
stop_kill $1
ulimit -m $2
"$script_folder"/"$1">/dev/null&
echo "Process $1 Assigned $2MB Memory"
}

最佳答案

来自 ubuntu proc -/proc 文件系统的手册页

 /proc/[number]/maps
A file containing the currently mapped memory regions and their
access permissions.
The format is:

address perms offset dev inode pathname
08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0

但是 - ulimit 不会自动将虚拟内存分配给进程。它允许进程执行一些操作来获取内存,例如:创建共享内存段、调用多个系统调用之一来分配内存。您的流程必须执行此操作。

关于linux - 查看为bash进程分配了多少虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com