如何快速查询Ubuntu系统CPU核心数并有效提升电脑性能?
- 内容介绍
- 文章标签
- 相关推荐
在日常使用 Ubuntu 时很多使用者会遇到一个共同痛点:想知道自己的 CPU 有多少个主要。却找不到一条简单的命令,又担心如果主要数不够会导致多任务处理缓慢、游戏卡顿或者编译速度慢。下面给出一套完整、快速的查询方法,并配合实用的性能提高技巧。帮助你在不换硬件的前提下让电脑跑得更顺畅。
一、快速查询 CPU 主要数的四种实用方法
1️⃣ lscpu 命令
最直观、信息最丰富的工具。打开终端,输入:
$ lscpu
Architecture: x86_64
CPU op-mode: 32-bit,64-bit
Byte Order: Little Endian
再看CPU。8
On-line CPU list: 0-7
Thread per core: 2
Core per socket: 4
Socket这方面,1
这里CPU即为可用主要总数。如果只想看到主要数而不关心线程,可以查看Core per socket乘以Socket得到物理主要数量。
2️⃣ nproc 命令
专门返回可用逻辑主要数量,适合脚本调用:
$ nproc
8
3️⃣ /proc/cpuinfo 文件解析
直接读取内核提供的数据。适用于自定义过滤:
$ grep -c ^processor /proc/cpuinfo # 总逻辑主要数
$ awk '/^core id/ {print $4}' /proc/cpuinfo | sort -u | wc -l # 唯一物理主要 ID 数量
4️⃣ getconf 命令
从设置获取,可用于 shell 脚本:
$ getconf _NPROCESSORS_ONLN
8
二、理解“主要”与“线程”之间的区别与关系
- 物理主要: 真正独立执行指令的硬件单元。每个 CPU 芯片上通常有多个。
- 逻辑主要或线程: 在同一个物理核上通过超线程技术同时执行多条指令序列。一般是物理核数量 × 超线程倍数。
- Cores × Threads = Logical Cores:
- Cores = Physical Cores;
- Sockets = Number of physical CPUs on morboard.
从*痛点来看。* 很多人把“CPU 主要”误认为是“物理核”,导致在评估性能时出现误判。 例如一颗双核但四线程的 CPU 在多任务场景下表现比单核四线程差得多。
三、提高 Ubuntu 性能的小技巧
A. 利用多核加速编译和建立任务
- -j 参数:在 make 或 cmake 等建立工具中使用 `make -j$` 或 `cmake --build . --parallel $` 可以让编译同时使用所有可用逻辑核。
- 再看-O1/O0。对某些项目可以降低调整级别以减少对 CPU 的压力,平衡编译速度和执行效率。
B. 调整程序服务与启动项。释放 CPU 资源
- `systemctl disable` 或 `systemctl mask` 停止不必要的后台服务,如打印机守护进程、多余的云同步服务等。
- `gnome-tweaks` → “隐式动画” → “关闭”,减少图形渲染占用 CPU 的情况。
- `top` 或 `htop` 实时监控进程占用情况,手动结束高占用进程。
C. 更新驱动与内核补丁,提高兼容性与效率
- `sudo apt update && sudo apt upgrade` 保持程序最新;是显卡驱动和文件程序相关补丁能明显提高 I/O 与图形性能。
- `uname -r` 查看当前内核版本;老实说,若想获得更好的硬件支持,可尝试安装主线内核。
- `sudo ubuntu-drivers autoinstall` 自动安装推荐驱动。包括 GPU 驱动,对游戏和渲染工作尤为关键。
D. 开启或关闭 Intel VT-x / AMD-V 虚拟化功能,以节省 CPU 周期
sudo systemctl enable kvm-amd 或 kvm-intel 根据处理器型号开启 KVM 加速;若不需要虚拟机,可关闭此服务以减少后台周期消耗。按理说,
bash
sudo systemctl disable kvm-amd.service # AMD 程序示例
``
四、快速 Cheat Sheet — 一键获取完整信息并立即行动!
# 获取所有关键指标一次性输出:
$ echo "CPU总线:" $:' | awk '{print $2}') \
"物理Cores:" $ per socket:' | awk '{print $4 * $NF}') \
"Threads:" $ per core:' | awk '{print $4}') \
"Sockets:" $
$ sudo systemctl restart NetworkManager
$ sudo systemctl list-unit-files --state=enabled | grep service | grep -v 'lightdm\|gdm' | cut -d'.' -f1> ~/servicestodisable.txt && xargs -a ~/servicestodisable.txt sudo systemctl disable
在日常使用 Ubuntu 时很多使用者会遇到一个共同痛点:想知道自己的 CPU 有多少个主要。却找不到一条简单的命令,又担心如果主要数不够会导致多任务处理缓慢、游戏卡顿或者编译速度慢。下面给出一套完整、快速的查询方法,并配合实用的性能提高技巧。帮助你在不换硬件的前提下让电脑跑得更顺畅。
一、快速查询 CPU 主要数的四种实用方法
1️⃣ lscpu 命令
最直观、信息最丰富的工具。打开终端,输入:
$ lscpu
Architecture: x86_64
CPU op-mode: 32-bit,64-bit
Byte Order: Little Endian
再看CPU。8
On-line CPU list: 0-7
Thread per core: 2
Core per socket: 4
Socket这方面,1
这里CPU即为可用主要总数。如果只想看到主要数而不关心线程,可以查看Core per socket乘以Socket得到物理主要数量。
2️⃣ nproc 命令
专门返回可用逻辑主要数量,适合脚本调用:
$ nproc
8
3️⃣ /proc/cpuinfo 文件解析
直接读取内核提供的数据。适用于自定义过滤:
$ grep -c ^processor /proc/cpuinfo # 总逻辑主要数
$ awk '/^core id/ {print $4}' /proc/cpuinfo | sort -u | wc -l # 唯一物理主要 ID 数量
4️⃣ getconf 命令
从设置获取,可用于 shell 脚本:
$ getconf _NPROCESSORS_ONLN
8
二、理解“主要”与“线程”之间的区别与关系
- 物理主要: 真正独立执行指令的硬件单元。每个 CPU 芯片上通常有多个。
- 逻辑主要或线程: 在同一个物理核上通过超线程技术同时执行多条指令序列。一般是物理核数量 × 超线程倍数。
- Cores × Threads = Logical Cores:
- Cores = Physical Cores;
- Sockets = Number of physical CPUs on morboard.
从*痛点来看。* 很多人把“CPU 主要”误认为是“物理核”,导致在评估性能时出现误判。 例如一颗双核但四线程的 CPU 在多任务场景下表现比单核四线程差得多。
三、提高 Ubuntu 性能的小技巧
A. 利用多核加速编译和建立任务
- -j 参数:在 make 或 cmake 等建立工具中使用 `make -j$` 或 `cmake --build . --parallel $` 可以让编译同时使用所有可用逻辑核。
- 再看-O1/O0。对某些项目可以降低调整级别以减少对 CPU 的压力,平衡编译速度和执行效率。
B. 调整程序服务与启动项。释放 CPU 资源
- `systemctl disable` 或 `systemctl mask` 停止不必要的后台服务,如打印机守护进程、多余的云同步服务等。
- `gnome-tweaks` → “隐式动画” → “关闭”,减少图形渲染占用 CPU 的情况。
- `top` 或 `htop` 实时监控进程占用情况,手动结束高占用进程。
C. 更新驱动与内核补丁,提高兼容性与效率
- `sudo apt update && sudo apt upgrade` 保持程序最新;是显卡驱动和文件程序相关补丁能明显提高 I/O 与图形性能。
- `uname -r` 查看当前内核版本;老实说,若想获得更好的硬件支持,可尝试安装主线内核。
- `sudo ubuntu-drivers autoinstall` 自动安装推荐驱动。包括 GPU 驱动,对游戏和渲染工作尤为关键。
D. 开启或关闭 Intel VT-x / AMD-V 虚拟化功能,以节省 CPU 周期
sudo systemctl enable kvm-amd 或 kvm-intel 根据处理器型号开启 KVM 加速;若不需要虚拟机,可关闭此服务以减少后台周期消耗。按理说,
bash
sudo systemctl disable kvm-amd.service # AMD 程序示例
``
四、快速 Cheat Sheet — 一键获取完整信息并立即行动!
# 获取所有关键指标一次性输出:
$ echo "CPU总线:" $:' | awk '{print $2}') \
"物理Cores:" $ per socket:' | awk '{print $4 * $NF}') \
"Threads:" $ per core:' | awk '{print $4}') \
"Sockets:" $
$ sudo systemctl restart NetworkManager
$ sudo systemctl list-unit-files --state=enabled | grep service | grep -v 'lightdm\|gdm' | cut -d'.' -f1> ~/servicestodisable.txt && xargs -a ~/servicestodisable.txt sudo systemctl disable

