[转帖]Linux中的lstopo命令(详细指南)

发布时间 2024-01-05 14:33:04作者: 济南小老虎
https://juejin.cn/post/7117544110856077343

 

目录:

  1. 简介
  2. 语法
  3. 命令
  4. 总结
  5. 参考文献

介绍

lstopo命令是用来显示系统的拓扑结构的。它提供了关于NUMA内存节点、共享缓存、CPU包、处理器内核和线程等信息。

语法

它渲染由hwloc发现的机器拓扑结构,有两种主要模式:文本渲染图形渲染

对于文本渲染,其语法如下:

 
css
复制代码
lstopo-no-graphics [OPTIONS]...[FILENAME]

而对于图形渲染:

 
css
复制代码
lstopo [OPTIONS]...[FILENAME]

命令:

为了以图形方式显示机器拓扑结构,我们写道:

 
复制代码
lstopo

topo

*PU P#*是处理单元处理器# - 这些是CPU核心内的处理元素,从图片中我们可以看到4个核心,每个核心有2个处理元素(超线程),总共有8个,但实际是4个。

  • L#i代表指令高速缓存。
  • L#d代表数据高速缓存。
  • L1代表1级缓存。
  • L2代表第2级高速缓存。
  • L3代表三级缓存。

插座P#表示主板上有4个物理插座,插座描述了容纳处理器的容器。

一个例子

socket-1

我们也可以看到8个核心,每个核心都有一个处理单元,它们都在4个物理CPU包中。

PCI桥接

PCI层次结构被画成一棵桥的树,它们之间有链接。
这棵树从主机桥或根复合体左边的小方块开始,以右边的PCI设备盒结束。
中间可能会出现额外的小方块,代表中间的PCI桥/开关。

PCI设备

这些是在右手边。它们是包含其总线ID的盒子,它们也可能包含更小的OS设备对象的盒子,如网络接口,如eth0

假设操作系统可以报告这个信息,那么PCI链路的数据速率可以用GB来写。

这在执行过程中可能会发生变化,因为一些设备在空闲时可以放慢它们的PCI链接。

在PCI桥的右边有一条水平线,意味着单个设备或桥连接在桥后面的二级PCI总线上,另一方面,垂直线意味着多个设备和/或桥连接到同一个二级PCI总线上。

颜色

红色意味着CPU或NUMA节点不在允许的集合中。

一个白色的颜色意味着CPU或NUMA节点在允许的集合中。

绿色表示一个拓扑结构可以被指定的进程看到,并且给定的CPU或NUMA节点在这个进程的CPU或内存绑定屏蔽中。

允许的集合是指一个进程被允许绑定的CPU或NUMA节点的集合,它要么是从父进程继承的,要么是由系统的管理策略设置的。

对于文本渲染,我们写道:

 
perl
复制代码
lstopo-no-graphics

我们也可以用ascii-art模式查看,写道

 
perl
复制代码
lstopo-no-graphics -.ascii

要查看摘要,我们使用*-s*选项

 
复制代码
lstopo -s

要显示物理索引,我们使用*-p*选项,如下所示:

 
css
复制代码
lstopo -p

对于逻辑索引,我们写道:

 
复制代码
lstopo -l

lstop有很多输出格式,如pdf、xml、svg等。

要把拓扑结构写到PNG文件中,通过写:

 
复制代码
lstopo file.png

现在file.png将有系统拓扑图。

我们还可以把它导出为XML文件,以便保存它并在另一台机器上重新加载,具体方法如下:

 
复制代码
lstopo file.xml

要导出为pdf文件,我们写道:

 
复制代码
lstopo file.pdf

要想只查看内核,我们写:

 
css
复制代码
lstopo --only core

要想只查看cpusets,我们就写:

 
css
复制代码
lstopo --cpuset

要查看逻辑处理器,我们写道:

 
css
复制代码
lstopo --only pu

总结

在这篇文章中,我们讨论了获取计算机系统信息的一个非常有用的方法。
lstopo
命令可以用各种格式显示系统的拓扑图,如pdf、png等。

通过OpenGenus的这篇文章,你一定对Linux中的lstopo命令有了完整的了解。