Ubuntu 上 CPU 信息查看与“配置”实用技巧
在 Linux 中,/proc/cpuinfo 是内核导出的只读信息,不能像普通配置文件那样“编辑保存”来改变 CPU 参数;所谓“配置”通常指:准确读取信息、按需调整调度/频率策略、绑定进程到指定核心,以及验证变更效果。下面给出高效命令与可操作配置方法。
一、快速查看与关键指标解读
grep "model name" /proc/cpuinfo | uniqcat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -lcat /proc/cpuinfo | grep "processor" | wc -lcat /proc/cpuinfo | grep "cpu cores" | uniqgetconf LONG_BIT 或 grep -c ' lm ' /proc/cpuinfo二、把“只读信息”变成“可配置策略”
sudo apt install cpufrequtils
cpufreq-infosudo cpufreq-set -g performance(或 powersave/ondemand/conservative 等)taskset -c 0,2,4-7 your_cmd(将进程绑定到指定逻辑CPU)taskset -c 0,2,4-7 bash -c 'your_cmd'taskset -p 0x55 <pid>(十六进制掩码,按位选择CPU)docker run --cpuset-cpus="0-3" --cpus="2.0" your_img(限定可用CPU与配额)resources.limits.cpu: "2" 与 spec.nodeName/nodeSelector 控制可调度与拓扑三、进阶定位与自动化脚本
echo "逻辑CPU: $(nproc)"
echo "物理CPU: $(grep -c '^physical id' /proc/cpuinfo | sort -u | wc -l)"
grep -m1 "model name" /proc/cpuinfo | cut -d: -f2 | sed 's/^[ \t]*//'
cores_per_socket=$(grep -m1 "cpu cores" /proc/cpuinfo | cut -d: -f2 | tr -d ' \t')
siblings=$(grep -m1 "siblings" /proc/cpuinfo | cut -d: -f2 | tr -d ' \t')
if [ "$siblings" -gt "$cores_per_socket" ]; then
echo "超线程: 已开启 (siblings=$siblings > cores=$cores_per_socket)"
else
echo "超线程: 未开启或数据异常"
fi
echo "64-bit: $(getconf LONG_BIT) 位"
top / htop(安装:sudo apt install htop)top -1 -p $(pgrep your_proc | paste -sd, -)四、常见坑与排查要点