首页 > 系统相关 >Linux查看CPU核数

Linux查看CPU核数

时间:2023-07-31 16:12:40浏览次数:31  
标签:百分比 0.0 top 内存 Linux 进程 核数 CPU

**方法一:通过proc文件系统 获取cpu总数量 命令如下 **

cat /proc/cpuinfo |grep processor


方法二:nproc命令

nproc


方法三:lscpu 显示CPU详细信息

lscpu

Architecture:        # 架构
CPU op-mode(s):      # CPU 运行模式
Byte Order:          # 字节序
CPU(s):              # 逻辑CPU颗数
On-line CPU(s) list: # 在线CPU列表
Thread(s) per core:  # 每个核的线程数
Core(s) per socket:  # 每个CPU插槽核数/每颗物理CPU核数
CPU socket(s):       # CPU插槽数
NUMA node(s):        # NUMA节点
Vendor ID:           # CPU厂商ID
CPU family:          # CPU系列
Model:               # 型号
Model name:          # 型号名称
Stepping:            # 步进
CPU MHz:             # CPU主频
CPU max MHz:         # CPU最大主频
CPU min MHz:         # CPU最小主频
Virtualization:      # CPU支持的虚拟化技术
L1d cache:           # 一级缓存(CPU的L1数据缓存)
L1i cache:           # 一级缓存(CPU的L1指令缓存)
L2 cache:            # 二级缓存

查看 cpu0 线程数:

cat /sys/devices/system/cpu/cpu0/topology/core_cpus

(2)以可读格式显示 CPU 信息。

lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0   0    0      0    0:0:0:0       yes
1   0    0      1    1:1:1:0       yes

(3)显示 CPU 指定列的信息,如查看逻辑 CPU。

lscpu -e=CPU
CPU
0
1

可用列有:

CPU  			逻辑 CPU 数量。
CORE  			逻辑核心数量。一个核心可以包含多个CPU。
SOCKET  		逻辑插座数量。一个 socket 可以包含多个核心。
BOOK  			逻辑 book 数。一个 book 可以包含多个插座。
NODE  			逻辑 NUMA 节点数量。
DRAWER  		逻辑抽屉数(不太明白,好像和book有关系)
CACHE  			CPU 之间如何共享缓存
POLARIZATION 	虚拟硬件上的 CPU 调度模式
ADDRESS			CPU 物理地址
CONFIGURED  	管理程序是否分配了CPU
ONLINE  		显示 Linux 当前是否使用 CPU
MAXMHZ			CPU 最大频率
MINMHZ			CPU 最小频率

方法四:top 命令
参数详解
https://www.cnblogs.com/zhangmingcheng/p/15658923.html
执行top命令 控制台输入1,查看当前系统cpu总核数


top的使用方式 top [-d number] | top [-bnp]

参数解释:

-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

P 按照 进程 cpu 的使用率排序 (默认情况)
M 按照 内存的使用情况排序
q 退出
shift +< 上一页
shift +> 下一页
r 调整nice 值 renice
f 选择显示那一列
F,O 按那一列排序
k 杀死一个进程
c 显示command详细信息

样例图片

top各输出参数含义
top前5行统计信息
第1行:top - 21:09:34 up 2 days, 9:49, 2 users, load average: 3.90, 3.19, 2.49
第1行是任务队列信息,其参数如下:

内容 含义
21:09:34 表示当前时间
up 2 days, 9:49 表示系统运行时间
2 users 当前登录用户数
load average: 3.90, 3.19, 2.49 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第2行:Tasks: 532 total, 2 running, 515 sleeping, 0 stopped, 15 zombie
第3行:%Cpu(s): 14.1 us, 5.6 sy, 0.0 ni, 80.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容 含义
532 total 进程总数
2 running 正在运行的进程数
515 sleeping 睡眠的进程数
0 stopped 停止的进程数
15 zombie 僵尸进程数
14.1 us 用户空间占用CPU百分比,这个值是当前机器逻辑CPU占用百分比累加值/CPU逻辑核数所得,可以使用top 1命令查看各核CPU使用情况
5.6 sy 内核空间占用CPU百分比,这个值是当前机器逻辑CPU占用百分比累加值/CPU逻辑核数所得,可以使用top 1命令查看各核CPU使用情况
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
80.3 id 空闲CPU百分比
0.0 wa 等待输入输出的CPU时间百分比
0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st
第4行:KiB Mem : 32780544 total, 7673504 free, 8104836 used, 17002204 buff/cache
第5行:KiB Swap: 0 total, 0 free, 0 used. 24058588 avail Mem
第4、5行为内存信息
其参数如下:
内容 含义
32780544 total 物理总内存
7673504 free 空闲内存总量
8104836 used 使用的物理内存总量
17002204 buff/cache 用作内核缓存的内存量
KiB Swap 交换空间
24058588 avail Mem 代表可用于进程下一次分配的物理内存数量

缓冲的交换区总量即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

计算可用内存数有一个近似的公式:
第四行的free + 第四行的buffers + 第五行的cached

二、进程信息

列名 含义
PID 进程ID
USER 进程所有者的用户名
PR 优先级
NI nice值,负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令行

标签:百分比,0.0,top,内存,Linux,进程,核数,CPU
From: https://www.cnblogs.com/mxjy/p/17593712.html

相关文章

  • linux 2 网络基础
    1.包裹函数对服务器客户端等函数进行报错处理以及简化处理比如bindinttcp4bind(shortport,constchar*IP){structsockaddr_inserv_addr;intlfd=Socket(AF_INET,SOCK_STREAM,0);bzero(&serv_addr,sizeof(serv_addr));if(IP==NULL){//......
  • 记一次 .NET 某物流API系统 CPU爆高分析
    一:背景1.讲故事前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下:看了下是两个相同的程序,既然被打满了那就抓一个dump看看到底咋回事。二:为什么会打满1.真的被打满了吗凡事都要用数据说话,我们使用!tp命令观察一下。0:014>!tplogStart:......
  • linux 8 基于线程池和epoll监听实现聊天服务器
    1.立项功能1.聊天总人数显示2.账号密码注册功能-保留名字-永久保留id->保留id功能取消3.总聊天室-进入前可输入名字顺序id4.聊天室聊天5.单对单聊天6.id=cfd串联起来4.服务器代码#include"threadpoolsimple.h"//初始化结构体#include<stdio.h>ThreadPool*thrPool=......
  • Linux文件系统与日志分析
    目录Linux文件系统与日志分析日志是解决问题的唯一手段1.inode表结构1.1元数据1.2inode内容1.3inode内容1.4目录文件的结构1.5inode的号码1.6恢复XFS类型的文件2.日志服务管理2.1系统日志介绍2.2rsyslog系统日志服务2.3rsyslog日志管理2.3.1系统日志术语2.4日志文件2.......
  • linux的hw_breakpoint
    参考:https://martin.uy/blog/hardware-breakpoints-in-the-linux-kernel-through-perf_events/https://www.cnblogs.com/sunkang/archive/2011/05/04/2038816.htmlhttps://www.cnblogs.com/hellokitty2/p/16212629.htmlhttps://blog.csdn.net/shenhuxi_yu/article/details/......
  • Linux集群监控部署: prometheus 普罗米修斯 + Grafana
    前言之前我们有用到top、free、iostat等等命令,去监控服务器的性能,但是这些命令,我们只针对单台服务器进行监控,通常我们线上都是一个集群的项目,难道我们需要每一台服务器都去敲命令监控吗?这样显然不是符合逻辑的,Linux中就提供了一个集群监控工具–prometheus。prometheus监......
  • Linux fdisk command All In One
    LinuxfdiskcommandAllInOnediskpartition/磁盘分区$fdisk-hUsage:fdisk[options]<disk>changepartitiontablefdisk[options]-l[<disk>...]listpartitiontable(s)Displayormanipulateadiskpartitiontable.Options:......
  • linux环境中,如何查看网络设备的序列号?
    通过iplink查看网络设备的序列号 iplink  查询结果中,最左边的一列,就是这个网络接口,在主机上的序列号。......
  • CoaXPress 2.0 FPGA HOST IP Core Linux Demo
      目录Hello-FPGACoaXPress2.0HostFPGAIPCoreLinuxDemo41说明42设备连接73VIVADOFPGA工程74调试说明10图1‑1资料目录4图1‑2VIVADO工程目录结构5图1‑3SDK工程目录结构5图1‑4设备树信息6图1‑5petalinux应用程序6图2‑1ZCU10......
  • X86架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本
    本文操作步骤与aarch64架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本大致相同,只是CPU架构不同而已,因此这里只记录不同的地方。 重点:一个个人心得,那就是要编译pytorch源码最好是选择docker环境,因为这种环境下配置比较纯净,一定要避免那种自己使用多年的Linux系统,那种......