首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在有两个CPU的计算机中,如何获得每个CPU的本地内存的物理地址?

在有两个CPU的计算机中,如何获得每个CPU的本地内存的物理地址?
EN

Unix & Linux用户
提问于 2023-05-16 08:05:47
回答 1查看 43关注 0票数 0

我的电脑有下列规格

  • 2英特尔CPU x86_64
  • 总内存8GB (每个CPU 4GB)
  • O/S是Rocky Linux 9

我希望使用grub中的memmap参数为每个CPU预留1GB内存。我检查了dmesg/proc/meminfo,甚至使用了numaclt -H。但我无法为每个CPU找到内存的物理地址。

如何获得每个CPU的本地内存的物理地址?

谢谢。

EN

回答 1

Unix & Linux用户

发布于 2023-05-16 11:00:42

如果您的目的是在特定的CPU核心上运行应用程序,为其分配特定的资源集(内存),您可以这样做:

任务集

代码语言:javascript
复制
#launch google-chrome on CPU core 0
taskset 0x1 google-chrome

C组

代码语言:javascript
复制
# Create a cgroup
mkdir /sys/fs/cgroup/memory/my_cgroup

# Add the process to it
echo $PID > /sys/fs/cgroup/memory/my_cgroup/cgroup.procs

# Set the limit to 100MB
echo $((100 * 1024 * 1024)) > /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes

通过操作系统抽象与硬件交互总是一个好主意,除非我们确切地知道自己在做什么/取消操作。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/746020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档