
问题描述在连接服务器的时候很卡很卡我的服务器性能也还行呀。就是不知道为什么。查找问题执行下面的命令echo lscpu visible CPUs lscpu | grep -E ^CPU\(s\)|On-line CPU echo current process available CPUs nproc nproc --all grep Cpus_allowed_list /proc/$$/status taskset -pc $$ echo cgroup CPU quota cat /sys/fs/cgroup/cpu.max 2/dev/null cat /sys/fs/cgroup/cpuset.cpus.effective 2/dev/null echo systemd limits systemctl show user-$(id -u).slice \ -p CPUQuotaPerSecUSec \ -p AllowedCPUs 2/dev/null执行结果 lscpu visible CPUs CPU(s): 64 On-line CPU(s) list: 0-63 current process available CPUs 64 64 Cpus_allowed_list: 0-63 pid 1555921s current affinity list: 0-63 cgroup CPU quota 0-63 systemd limits CPUQuotaPerSecUSec200ms AllowedCPUs其中CPUQuotaPerSecUSec200ms它表示user-1009.slice每秒只获得约200 ms CPU 时间也就是200 ms / 1000 ms 20%等效于整个用户账号最多只能使用约0.2 个 CPU 核而不是 64 核。解决问题sudo systemctl set-property --runtime \ user-1009.slice CPUQuota然后就会看到 lscpu visible CPUs CPU(s): 64 On-line CPU(s) list: 0-63 current process available CPUs 64 64 Cpus_allowed_list: 0-63 pid 1555749s current affinity list: 0-63 cgroup CPU quota 0-63 systemd limits CPUQuotaPerSecUSecinfinity AllowedCPUs看到CPUQuotaPerSecUSecinfinity这样就顺畅了。