我正在使用远程服务器,我不应该请求 100 个核心中的超过 24 个。
我正在运行几个 R 脚本,它们似乎使用了太多......
在 htop 中,我如何知道单个用户(我自己)使用了多少个核心?我可以看到所有用户的“平均负载”,并且可以为我的进程添加 MEM%。
是否有一些 R 命令可用于限制核心数量?我使用的脚本甚至没有明确并行化任何进程,但也许 R 包正在为我获取核心。
答案1
打印有关 CPU 的信息:
lscpu
更改使用 CPU:
chcpu -d 25-99
chcpu -g 25-99
core 25 -99
进入远程服务器离线状态
如果你想限制某个进程的内核,那么使用 cgroup
答案2
你必须异亮氨酸通过编辑 grub 文件 这将仅为系统保留核心
首先检查现有的 CPU 数量
lscpu
检查固件
ls -larth /sys/firmware
编辑 grub
sudo vim /etc/default/grub
然后添加 isolcpus 参数
# mostly keep starting numa cores for system
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" isolcpus={how much u want to allocat for use by scripts}
GRUB_CMDLINE_LINUX=""
如果 efi 存在则编译
grub2-mkconfig -o /boot/grub2/grub.cfg
else
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
警告!如果编译过程中没有错误则重新启动机器
reboot now
最后检查重新登录后更改是否仍然存在
cat /proc/cmdline