私のコンピュータの仕様は次のとおりです
- 2 インテル CPU x86_64
- 合計メモリ8GB(CPUあたり4GB)
- オペレーティングシステムはRocky Linux 9です。
memmap
grubのパラメータを使用してCPUあたり1 GBのメモリを予約したいと思います。確認しdmesg
て/proc/meminfo
試してみましたがnumaclt -H
。ただし、各CPUのメモリ物理アドレスが見つかりません。
各CPUローカルメモリの物理アドレスを取得するには?
答え1
特定のCPUコアでアプリケーションを実行し、特定のリソース(メモリ)セットを割り当てたい場合は、次のことができます。
#launch google-chrome on CPU core 0
taskset 0x1 google-chrome
# 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
オペレーティングシステムの抽象化を介してハードウェアと対話することは、私たちが実行/元に戻すことを正確に知らない限り、常に良い考えです。