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

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

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

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

一个例子

我们也可以看到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命令有了完整的了解。

[转帖]Linux中的lstopo命令(详细指南)的更多相关文章

  1. Linux中的ls命令详细使用

    ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法 英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所 ...

  2. linux中的strings命令简介

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...

  3. linux中的ps命令用法。

    在linux中使用ps命令可以查看有哪些进程在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况. 名称:ps 使用权限:所有 ...

  4. 详解linux中的ps命令

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  5. (转)linux应用之test命令详细解析

    linux应用之test命令详细解析 原文:https://www.cnblogs.com/tankblog/p/6160808.html test命令用法. 功能:检查文件和比较值 1)判断表达式 ...

  6. linux中的dmesg命令以及确定进程是否被系统主动kill

    linux中的dmesg命令以及确定进程是否被系统主动kill Feb 21, 2017 | java | 185 Hits 近期发现线上项目的进程莫名其妙的就不见了,也没有崩溃日志,就怀疑是被操作系 ...

  7. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  8. 关于XShell的常见使用和设置以及Linux中的常见命令.

    本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...

  9. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

  10. linux中的 tar命令的 -C 参数,以及其它一些参数(转)

    linux中的 tar命令的 -C 参数,以及其它一些参数 复制源:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.htmltar命令 ...

随机推荐

  1. ASCII编码:计算机文本通信的基石

    ASCII(美国信息交换标准代码)编码是一种将字符与数字相互映射的编码系统,它为现代计算机文本通信奠定了基础.本文将从多个方面介绍ASCII编码的原理.发展历程.应用及其在现实场景中的优势,帮助您深入 ...

  2. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 16.优化交互,实现看到物体时出现交互提示

    斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本篇文章对应Lecture 18 – Creating Buffs, World Interaction, 73 ...

  3. cf1453F 二维DP 思维

    cf1453F 二维DP 思维 原题链接 题意 目前我们有一个序列,在第i个点可以走到[i + 1, i + a[i]]区间内的任意一点(也就是说如果a[i]是0,路就走不通了) 现在要求我们将一些位 ...

  4. MySQL进阶篇:详解存储引擎MyISAM

    MySQL进阶篇:第一章_一.三_存储引擎特点_MyISAM 1.1 存储引擎特点 1.1.2 MyISAM 1). 介绍 MyISAM是MySQL早期的默认存储引擎.. 2). 特点 不支持事务,不 ...

  5. 知道ThreadLocal吗?一起聊聊到底有啥用

    摘要:ThreadLocal是 java 提供的一个方便对象在本线程内不同方法中传递和获取的类.用它定义的变量,仅在本线程中可见和维护,不受其他线程的影响,与其他线程相互隔离. 本文分享自华为云社区& ...

  6. Go 1.18 新特性:多模块工作区模式

    摘要:在 Go 1.18 推出多模块工作区模式--Multi-Module Workspaces,用以支持模块的多个工作空间,我们来看看到底有什么特别. 本文分享自华为云社区<一起看看 Go 1 ...

  7. OpenHarmony移植案例与原理:如何适配服务启动引导部件bootstrap_lite

    摘要:本文介绍移植开发板时如何适配服务启动引导部件bootstrap_lite,并介绍相关的运行机制原理. 本文分享自华为云社区<OpenHarmony移植案例与原理 - startup子系统之 ...

  8. 从原理带你掌握Spring MVC拦截处理器知识

    摘要:SpringWebMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于处理器进行预处理和后处理. 本文分享自华为云社区<不讲废话,全程干货,0基础带你学习Spring ...

  9. Linux上非root用户jdk环境变量配置

    1.设置用户环境变量vi .bash_profile 或者是 vi ~/.bashrc 2.JAVA_HOME=/home/sgmm/jdk1.6.0_13 CLASSPATH=$JAVA_HOME/ ...

  10. 火山引擎DataLeap联合DataFun发布《数据治理知识地图》

    近期,火山引擎DataLeap和技术社区DataFun联合发布<数据治理知识地图专业版V1>(以下简称"地图"),地图将数据治理的领域.流程.技术.工具等内容进行系统化 ...