如何管理我所在机构的服务器使用的核心数量

如何管理我所在机构的服务器使用的核心数量

我正在使用远程服务器,我不应该请求 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

相关内容