如何在登录节点限制用户资源

HPC集群是一个多用户的操作环境。通常情况下,所有用户通过登录节点向调度器申请资源并运行作业。

但由于登录节点本身不处在调度器控制之下,当出现一些不规范的操作,例如长时间使用多核编译、在登陆节点运行MPI程序等,会导致占用大量的CPU、带宽和内存资源,进而影响其他用户正常使用HPC集群。

本文通过介绍一些Linux系统本身的特性,帮助HPC集群管理员了解如何在登录节点通过配置来限制用户可使用的资源。

适用操作系统及版本要求

统一限制所有用户的资源

假设需要限制每个登录用户只能使用100%的CPU资源 (如节点总核数为20,则总CPU资源为2000%)

  1. 在文件夹/usr/lib/systemd/system/user-.slice.d下添加配置文件11-limit-cpu.conf
  1. 刷新配置
  1. 检查11-limit-cpu.conf是否已经载入

可以看到系统已经加载了11-limit-cpu.conf

限制特定用户的资源

假设hpcadminuid1000,需要限制hpcadmin只能使用400%CPU资源

  1. 在文件夹/usr/lib/systemd/system/user-1000.slice.d下添加配置文件limit-cpu.conf
  1. 刷新配置
  1. 检查limit-cpu.conf是否已经载入

常用配置项

配置项目可查询man systemd.resource-control