服务器很卡顿
📅 2026/7/24 4:48:21
👁️ 阅读次数
📝 编程学习
问题描述:在连接服务器的时候很卡很卡,我的服务器性能也还行呀。就是不知道为什么。
查找问题:执行下面的命令,
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 1555921's current affinity list: 0-63 ===== cgroup CPU quota ===== 0-63 ===== systemd limits ===== CPUQuotaPerSecUSec=200ms AllowedCPUs=其中
CPUQuotaPerSecUSec=200ms它表示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 1555749's current affinity list: 0-63 ===== cgroup CPU quota ===== 0-63 ===== systemd limits ===== CPUQuotaPerSecUSec=infinity AllowedCPUs=看到
CPUQuotaPerSecUSec=infinity这样就顺畅了。
编程学习
技术分享
实战经验