Linux查看物理CPU个数、CPU内核数、线程数、和占用的进程

  • Post author:
  • Post category:linux


physical id:每颗CPU的id,计算系统中有几个CPU。

cpu cores:当前的CPU有几个核心。

processor:每个CPU线程的id,计算系统中总计有几个CPU线程。

# 总核心数 = 物理CPU个数  X  每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数  X  每颗物理CPU的核数  X  超线程数

# 查看CPU逻辑id
grep 'physical id' /proc/cpuinfo | sort -u

# 查询物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的核数(即个数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

# 查看总线程数量
grep 'processor' /proc/cpuinfo | sort -u | wc -l

# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# cpu详细信息
cat /proc/cpuinfo

# intel官方查看CPU列表信息
https://ark.intel.com/content/www/us/en/ark.html#@Processors
# CPU占用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -10 

# 内存消耗最多的前10个进程 
ps auxw|head -1;ps auxw|sort -rn -k4|head -10 

# 虚拟内存使用最多的前10个进程 
ps auxw|head -1;ps auxw|sort -rn -k5|head -10

	USER      //用户名
	%CPU      //进程占用的CPU百分比
	%MEM      //占用内存的百分比
	VSZ       //该进程使用的虚拟內存量(KB)
	RSS       //该进程占用的固定內存量(KB)resident set size
	STAT      //进程的状态
	START     //该进程被触发启动时间
	TIME      //该进程实际使用CPU运行的时间

	ps auxw
	u:以用户为主的格式来显示程序状况
	x:显示所有程序,不以终端机来区分 
	w:采用宽阔的格式来显示程序状况
	ps auxw|head -1 输出表头
	
	sort -rn -k5 
	-n是按照数字大小排序
	-r是以相反顺序
	-k是指定需要排序的栏位

tty (Teletype terminal )与进程关联的终端
    串行端口终端(/dev/ttySn)
    伪终端(/dev/pty/) 
    控制终端(/dev/tty) 
    控制台终端(/dev/ttyn,   /dev/console) 
    虚拟终端(/dev/pts/n) 

stat取值含义
	D      //无法中断的休眠状态(通常 IO 的进程);
	R      //正在运行可中在队列中可过行的;
	S      //处于休眠状态;
	T      //停止或被追踪;
	W      //进入内存交换 (从内核2.6开始无效);
	X      //死掉的进程 (基本很少见);
	Z      //僵尸进程;
	<      //优先级高的进程
	N      //优先级较低的进程
	L      //有些页被锁进内存;
	s      //进程的领导者(在它之下有子进程);
	l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
	+      //位于后台的进程组;

参考连接:

https://www.cnblogs.com/yuyutianxia/p/7865599.html