全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况

1. 查看 Linux 服务器的 CPU 详细情况

判断依据:

  • 具有相同的 core id 的 CPU 是同意个 core 超线程。
  • 具有相同的 physical id 的 CPU 是同一个 CPU 封装的线程或核心

显示物理 CPU 个数的命令:

liuqian@ubuntu:~$ cat /proc/cpuinfo | grep 'physical id' | sort| uniq | wc -l
1

 

显示每个物理 CPU 中 core 的个数(即核数):

liuqian@ubuntu:~$ cat /proc/cpuinfo | grep 'cpu cores' | uniq
cpu cores    : 1

 

显示逻辑 CPU 的个数:

liuqian@ubuntu:~$ cat /proc/cpuinfo | grep 'processor' | wc -l
1

 

按理说有如下等式:

物理 CPU 个数 × 核数 = 逻辑 CPU 的个数

如果不相等的话,则表示你的服务器 CPU 支持超线程技术。在配置服务器的应用时,应以服务器的逻辑 CPU 个数为准。

 

查看系统内核版本号:

liuqian@ubuntu:~$ uname -a
Linux ubuntu 4.2.0-38-generic #45-Ubuntu SMP Wed Jun 8 21:21:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

 

【附加FreeBSD相关命令】

显示 CPU 个数:

[liuqian@SYQceshi03 ~]$ dmesg|grep cpu
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_throttle1: <ACPI CPU Throttling> on cpu1

或:

[liuqian@SYQceshi03 ~]$ sysctl -a|grep cpu
cpu    HAMMER
device    cpufreq
kern.sched.cpusetsize: 8
  <cpu count="2" mask="3">0, 1</cpu>
    <cpu count="2" mask="3">0, 1</cpu>
kern.ccpu: 0
kern.smp.maxcpus: 64
kern.smp.cpus: 2
net.inet.tcp.per_cpu_timers: 0
debug.acpi.cpu_unordered: 0
debug.cpufreq.lowest: 0
debug.cpufreq.verbose: 0
hw.ncpu: 2
......

从上面可以看出 CPU 个数为 2

 

如果CPU是多核,如何查看各颗CPU的运行状态:

[liuqian@SYQceshi03 ~] top

last pid: 42028; load averages: 0.83, 1.66, 1.71 up 168+04:04:19 15:08:58 163 processes: 1 running, 160 sleeping, 2 stopped CPU: 2.9% user, 0.0% nice, 1.2% system, 0.0% interrupt, 95.9% idle Mem: 653M Active, 2302M Inact, 669M Wired, 27M Cache, 786M Buf, 291M Free Swap: 4096M Total, 2673M Used, 1423M Free, 65% Inuse PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 768 mysql 42 20 0 781M 186M uwait 0 43.3H 0.00% mysqld 943 mongodb 10 20 0 650M 4880K uwait 0 457:16 0.00% mongod88098 root 17 52 0 2517M 40824K uwait 1 335:57 0.00% java 87136 root 17 20 0 2537M 40976K uwait 0 335:47 0.00% java 88884 root 17 52 0 2517M 40992K uwait 1 335:02 0.00% java 88733 root 17 52 0 2529M 40672K uwait 1 333:07 0.00% java

从上面的结果,可以知道,这是一颗双核的 CPU(看 C 那列的值的个数)

posted on 2016-06-28 15:16  刘[小]倩  阅读(1811)  评论(0编辑  收藏  举报

导航