- 博客(583)
- 资源 (1)
- 收藏
- 关注
原创 【微知】ubuntu deb系统中如何查看某个deb包中的文件内容?(c看,L看,l列,i安装;dpkg -c xxx.deb 查看; -L查看已安装的deb内中的文件; -l查看文件)
本文介绍Linux系统中使用dpkg命令管理.deb软件包的常用操作:1)查看未安装包的内容:dpkg -c xxx.deb;2)查看已安装包的文件列表:dpkg -L 包名;3)查询系统所有已安装包:dpkg -l,支持用grep过滤(如dpkg -l |grep mlnx)。这些命令配合截图演示,能够快速定位包内容和安装状态,适用于Debian/Ubuntu等系统的软件包管理。
2025-05-31 23:50:55
188
原创 【微知】linux命令ulimit的原理简要分析?(task_struct->signal->rlimt、RLIMIT_MEMLOCK )
本文分析了ulimit命令的工作原理及其内核实现机制。ulimit通过系统调用setrlimit/getrlimit与内核交互,资源限制参数存储在进程task_struct结构的signal->rlim数组中,按resource类型组织。用户可通过ulimit -a或/proc/<pid>/limits查看限制值,内核使用rlimit()接口读取当前进程的限制值进行资源管控。当资源超过限制时,内核会采取相应处理策略。文章以memlock为例,展示了从用户态设置到内核态读取限制值的完整流程,
2025-05-27 23:05:46
574
原创 【微知】linux如何配置网卡名字不用udev 的可预测命名方案(如enpXsY)而是eth0 eth1这种?(net.ifnames=0、biosdevname=0)
本文介绍了在CentOS系统中如何将网卡命名恢复为传统的eth0、eth1格式。通过添加两个内核参数net.ifnames=0和biosdevname=0来禁用systemd的可预测网络接口命名方案。具体操作为使用grubby工具更新内核启动参数,执行命令后重启系统即可生效,网卡名称将从enpXsY等格式变为传统的ethX命名方式。操作前后截图对比验证了配置的有效性。
2025-05-25 18:15:05
203
原创 【微知】sonic交换机 如何创建一个vlan,将端口Ethernet1和Ethernet2加入vlan?(cli; conf ter; vlan 100; intr 1,2; show vlan)
本文介绍了如何在Sonic交换机上创建VLAN并将端口加入VLAN的配置步骤。首先,通过cli命令进入交换机配置界面,然后使用config terminal进入配置模式。接着,通过命令vlan 100创建VLAN 100,并使用intr 1,2和vlan 100 untagged将端口Ethernet1和Ethernet2加入VLAN 100。此外,还提供了其他常用命令,如查看端口状态、数据统计和VLAN信息等。最后,文章还介绍了如何设置交换机端口速率和给VLAN添加IP地址的方法。通过这些步骤,用户可以有
2025-05-22 09:07:02
219
原创 【微知】如何设置eth网卡关闭自动协商速率以及设置速率?(ethtool -s eth0 speed 200000 duplex full autoneg off)
在服务器与交换机之间,有时需要手动配置网络接口的速率和双工模式,特别是在关闭自动协商功能的情况下。通过使用ethtool命令,可以设置网卡的速率、双工模式,并关闭自动协商。例如,命令ethtool -s eth0 speed 200000 duplex full autoneg off将网卡eth0的速率设置为200Gbps,双工模式为全双工,并关闭自动协商。使用ethtool eth0可以查看当前配置。如果有多个网络接口,需要分别进行设置。这种手动配置确保网络接口能够正常连接并工作。
2025-05-22 08:41:58
175
原创 【微知】Mellanox网卡如何将网卡的两个port bond到一起?(echo +bond0 > /sys/class/net/bonding_masters )
本文介绍了两种将两个网络端口绑定(bonding)以实现带宽倍增的方法。第一种方法通过sysfs文件配置,包括关闭网卡、启动bonding模块、创建bonding口并设置模式,最后将网卡加入bonding口并启动。第二种方法使用NetworkManager服务配置文件,通过创建bonding配置文件和从属网卡配置文件,重启网络服务并验证bonding接口状态。此外,还简要提及了使用nmicli配置bonding的步骤。这些操作均需root权限或sudo执行。
2025-05-22 08:33:52
1185
原创 【微知】linux系统使用NetworkManager服务,如何查看网卡的UUID?(nmcli connect show)
另外NetworkManager的配置在/etc/NetworkManager/system-connections/*下面有先关配置。如果系统使用NetworkManager,可以通过。
2025-05-20 00:27:13
129
原创 【微知】Mac上如何使用系统自带软件访问vnc服务器?(finder -> 连接服务器 -> vnc://xxx:port)
Linux服务器启动vnc可以远程访问桌面。MAC笔记本除了安装vnc viewer等工具,还可以使用finder提供的工具直接访问。本文简单介绍操作方式。
2025-05-20 00:19:50
336
原创 【微知】Linux系统网络设备名字如何避免enp0s1f1这种而是使用eth0这种?(net.ifname=0、biosdevname=0)
通过修改内核参数可以禁用可预测命名,使网络接口名称恢复为传统的eth0、eth1等逐渐增加的命名方式。具体操作包括使用grubby工具更新内核参数,分别设置net.ifname=0和biosdevname=0。修改后,通过grubby --info=ALL命令可以确认配置是否生效。
2025-05-20 00:12:10
162
原创 【微知】如何查看系统网络管理使用的是networkd还是NetworkManager?(ps -aux |grep -E “network|NetworkManager“)
【代码】【微知】如何查看系统网络管理使用的是networkd还是NetworkManager?
2025-05-19 23:51:36
208
原创 【微知】如何持久修改hostname?(hostnamectl set-hostname [newname])
该命令还能查看系统版本,内核版本等。
2025-05-19 23:44:45
673
原创 【微知】自己有一个云服务器如何配置一个内网穿透功能访问家里的服务器?(ssh -NfR 5505:localhost:22 [email protected] -p 22)
内网穿透在淘宝上售卖的比较多,以及常见的花生壳有相关服务。本文记录使用 SSH 反向代理实现内网穿透的方式。autossh通常包含在 EPEL(Extra Packages for Enterprise Linux)源中。,autossh通常包含在 EPEL(Extra Packages for Enterprise Linux)源中。家里服务器执行:(如果是后台服务器,可以指定-f)可以使用ssh config配置,也可以其他。笔者遇到了比较慢,手动安装的autossh。创建中转用户(可选但更安全)
2025-05-18 18:35:10
960
原创 【微知】RDMA用户态库相关的多个库及其功能分析(一)
本文详细介绍了与RDMA(远程直接内存访问)相关的多个库及其功能,为RDMA应用的开发和调试提供了重要支持。主要库包括: rdma-core-devel:提供开发所需的头文件和库。 libibverbs:RDMA核心库,提供与verbs相关的接口,支持计数器操作(创建、销毁和读取)。 librdmacm:提供RDMA通信管理相关的头文件。 libibumad:属于InfiniBand的用户空间管理数据报工具,非RDMA域。 此外,工具库如librdmacm-utils和libibverbs-utils提供了
2025-05-18 14:12:07
1379
原创 【代码模板】如何通过netlink从内核态主动发送消息到用户态?(netlink_kernel_create、nlmsg_new、nlmsg_put、netlink_unicast)
本文通过一个简单的例子介绍了Netlink机制的使用,展示了内核态与用户态之间的异步通信。主要流程包括:内核态驱动注册Netlink用户自定义消息组,用户态程序通过写入字符设备将PID发送给内核态驱动,内核态使用Netlink单播或广播机制通知对应的PID,用户态收到消息后打印出来自内核的信息。内核态程序通过netlink_kernel_create创建Netlink套接字,并通过字符设备接收用户态的PID。用户态程序通过socket创建Netlink套接字,并通过ioctl触发内核态发送消息。最终,用户态
2025-05-18 00:13:20
871
原创 【微知】rdma-core中的守护进程rdma-ndd是什么,实现原理是什么?(udev monitor poll & /sys/class/infiniband/mlx5_0/node_desc)
rdma-ndd是rdma-core中的一个系统守护进程,全称是 “RDMA device Node Description update daemon”,即 RDMA 设备节点描述更新守护进程。
2025-05-17 21:22:01
701
原创 【微知】modprobe是如何识别模块依赖关系并自动加载依赖的ko的?(/lib/modules/$(uname -r)/modules.dep)
modprobe 是用于加载内核模块的工具,与 insmod 不同,它能够自动处理模块的依赖关系。其原理是通过解析 /lib/modules/$(uname -r)/modules.dep 文件,该文件记录了模块之间的依赖关系。例如,模块 mlx5 依赖于 psample、mlxfw 等模块,同时 mlx5_vdpa 和 mlx5_ib 又依赖于 mlx5。modprobe 会根据这些依赖关系按需加载所有相关模块,并支持通过 /etc/modprobe.d/ 目录下的配置文件进行定制。modules.dep
2025-05-17 16:15:04
237
原创 【微知】Mellanox网卡ib设备对应的信息如何快速既查看eth网卡名也查看fw版本也查看网卡型号?(ibdev2netdev -v)
本文介绍了如何快速查看InfiniBand设备的网络接口名称、固件版本信息以及网卡型号。通过使用ibdev2netdev -v命令,可以一步完成以下操作:首先获取IB设备的网络接口名称,接着通过ethtool -i获取固件版本信息,最后通过lspci从ethtool中查看网卡型号。这种方法简化了操作流程,提高了效率。文章还提供了实际操作截图,帮助用户更直观地理解和使用该命令。
2025-05-17 14:56:23
188
原创 【微知】Mellanox网卡FW固件文件如何查看该固件支持的PSID等准确信息?(flint -i xxx.bin q)
在烧录FW文件时,文件名可能不准确,错误烧录可能导致设备故障。为了准确识别FW文件,可以使用命令flint -i ./fw-xxx.bin q来查询固件信息。该命令能够帮助用户确认固件的详细信息,确保烧录的准确性,避免因文件名错误而导致的设备问题。通过这种方式,用户可以有效地管理和验证固件文件,确保设备的安全运行。
2025-05-17 14:44:30
217
原创 【微知】mount如何挂载iso文件?(mount -o loop /root/file.iso /mnt/iso)
本文介绍了如何在Linux系统中挂载ISO文件。首先,创建一个空目录作为挂载点,例如/mnt/iso。然后,使用mount -o loop命令将ISO文件挂载到该目录,命令格式为mount -o loop /path/to/file.iso /mnt/iso。挂载后,可以通过挂载点访问ISO文件内容。
2025-05-17 09:10:00
446
原创 【微知】如何持久化挂载某个磁盘?(fdisk -l、/etc/fstab、e2label、mount -t ext4 /dev/sda4 /mnt/data)
本文详细介绍了在Linux系统中进行磁盘分区、格式化、挂载及持久化挂载的步骤。首先,使用fdisk -l查看磁盘分区,选择目标分区(如/dev/sda4),并通过mkfs.ext4格式化。接着,使用blkid获取分区的UUID,并编辑/etc/fstab文件,添加挂载信息。使用mount -a检查语法,重启后通过df -h确认挂载结果。此外,还介绍了如何调整挂载点权限、使用卷标(LABEL)挂载,以及系统无法启动时通过Live CD/USB修复的流程。最后,提供了为分区设置LABEL的命令,并展示了如何在/
2025-05-17 08:59:49
383
原创 【微知】Mellanox配置工具mlxconfig如何reset配置?(mlxconfig -d bdf reset)
本文介绍了两种使用mlxconfig工具进行配置重置的方式。第一种方式是通过命令mlxconfig -d /dev/mst/mt4099_pciconf0 reset将所有配置重置为默认值,操作完成后需要进行冷重启。第二种方式是通过命令mlxconfig -d /dev/mst/mt4099_pciconf0 reset NV_GLOBAL_PCI_CONF_4重置特定配置项,适用于仅需重置部分配置的场景。帮助信息中进一步解释了这两种重置方式的用途和命令格式,提供了灵活的操作选择。
2025-05-17 04:10:59
264
原创 【微知】不错的ssh config配置工具:ssh-config-editor简介
ssh-config-editor是一款专为Mac用户设计的SSH配置文件管理工具,旨在通过图形用户界面(GUI)简化SSH客户端的配置过程。该工具允许用户以更直观和高效的方式编辑~/.ssh/config文件,避免了直接编辑文本文件时可能出现的错误。ssh-config-editor的品牌定位是“以智能和高效的方式管理您的SSH客户端配置文件”,提供了用户友好的界面来配置服务器登录选项,如密码和算法。通过该工具,用户可以轻松管理和优化SSH配置,提升工作效率。更多信息可访问其官网:https://www.
2025-05-17 02:44:49
413
原创 【微知】MAC上搜索软件利器HoudahSpot(类似windows上的everything)
mac上find搜索文件很慢,alfred的find也比较慢。类似windows上的everything。HoudahSpot的品牌定位:和注意这里提到了支持的通配符是*,而不是支持正则表达式支持用alfred搜索:正则表达式从搜索结果中匹配:比如快速找所有的pdf:以某个命名开头的c文件,用正则表示:prm*.pdf*.pdf 过滤pdf的main.c搜索文件中部包含某个字符串的pdf不要,而要在mac上用alfred搜索会比这个搜索的少一些,因为alfred需要指定目录。相关
2025-05-17 02:29:53
295
原创 【微知】ssh如何命令行指定密码登录?(sshpasswd -p ‘paswd‘ ssh [email protected])
使用sshpass命令配合。
2025-05-11 01:39:54
456
原创 【问题记录】Mellanox PCIe分析工具neohost执行get_device_performance_counters.py报错No JSON object?(安装jsonschema)
可以看到没有其他报错。
2025-05-07 23:04:15
372
原创 Maccy软件如何将历史命令导出?存在哪里的?
Maccy是一个不错的剪切板管理工具,可以利用它把很多命令自动管理起来。本文记录根据开源源码,读取Maccy的数据库获取存储的命令的方法,以方便做备份等功能。
2025-05-05 13:13:12
350
原创 【问题解决】sourceinsight出现Cannot open project file后如何解决?(project -> open project -> Browse -> 打开*.siproj)
既然存在,那么可能是si的工程管理的异常,可以使用project的直接导入方式。project -> open project -> Browse -> 打开*.siproj文件。
2025-05-04 23:44:08
237
原创 【微知】sourceinsight如何导出HTML格式查看代码?实现快速跳转?以及直接使用SI的浏览模式?(左键,backsapce)
本文介绍了两种通过sourceinsight快速阅读代码的方式。sourceinsight 提供了将project导出为html格式的代码库,导出后能够像点击网页一样点击函数,并且显示格式和si相同。另外sourceinsight还提供了直接的browser mode,使用鼠标左键 以及 backspace方便快速阅览代码。
2025-05-04 23:31:35
294
原创 【微知】Linux服务器如何开启samba服务?如何映射固定路径?sourceinsight如何结合samba编辑远程文件?
sourceinsight前后用了十几年了,但是在四五年前开始用的少一些,主要原因是需要在很多云服务器上编辑,sourceinsight这方面支持没有vscode做得好。虽然sourceinsight结合samba比较常用,但是vscode配合sftp或者ssh remote非常方便。但是sourceinsight在看代码方面,目前来看还是无敌的存在,尤其是配合各种快捷方式以及si的代码阅读模式。该部分以后介绍。本文主要介绍sourceinsight如何结合samba如何编辑和阅读代码?
2025-05-04 10:59:25
691
原创 【微知】sourceinsight如何使用备份文件功能?(File -> Open backup file; Tools -> Comapre backup file)
本文记录了关于sourceinsight的backup file的使用方法。在日常开发中,可以根据这个来进行对比和打开时候的对比方式,比git看的更习惯。另外虽然AI时代各种高效工具百花齐放,但是历久弥新的sourceinsight还是有他独特的生命力,毕竟已经三十几年的产品了。把工具用趁手了效率好快很多。
2025-05-04 08:51:32
414
原创 【微知】关于 Mellanox BF3 DPU 上 rshim 的深入解析(二)?rshim软件和DPU是走什么通道进行通信的?
rshim会根据映射的机制来使用不同的策略,比如vfio会使用vfio的标准策略(比如打开"/dev/vfio/vfio",打开group,获取设备信息,然后mmap,pread pwrite配置,中断使能等。说先rshim开启pcie enable是在启动rshim中期,是rshim初始化后选择PCIe模式,然后PCIe的 probe阶段的初始化前期,用来初始化用户态PCIe操作的相关的准备动作。使用libpci提供的pci_cap_write,指定dev句柄,以及需要读取的cap地址和访问的地址。
2025-05-04 00:29:20
1076
原创 【微知】sourceinsight如何提高搜索速度?(lookup reference或者正则模式下的sourceinsight multi-line)
sourceinsight在搜索较多文件的工程会比较慢,如何加速?本文分为正则和非正则(明确知道搜索的全量字符串)两种方法。注意不要设置perl multi-line,要有si的multi-line这个快至少一个数量级。搜索使用sourceinsight multi-line模式可以并行搜索。使用lookup reference在非正则模式下会很快。每次搜索的时候设置方式:这里只有在正则表达模式下才会更快。
2025-05-03 23:35:36
167
原创 【微知】sourceinsight如何添加多个函数调用栈查看窗口?
在sourceinsight中经常需要借助函数调用图来分析,同时查看多个函数调用图,可能会覆盖。有些时候也需要跳转到某个子函数去查看流程,有些时候还需要查看调用关系图,有些时候需要查看被调用关系图。如何满足这些需求,sourceinsight提供了new reference windows的功能。
2025-05-03 23:07:34
143
原创 【代码模板】Linux内核中对PCIe BAR空间通用打印函数?(pci_resource_start、pci_resource_len、pdev)
Linux内核态操作PCIe配置空间非常方便,接口也比较成熟。本文简单记录一个打印bar空间的函数,入参是标准的pci_dev。打印PCI设备所有BAR(Base Address Register)空间信息。该函数会遍历并打印每个BAR的基址、大小和类型等信息。
2025-05-02 23:03:27
422
原创 【微知】lspci命令显示的厂商信息是如何获取的?( /usr/share/hwdata/pci.ids)
使用lspci命令是如何从PCIe配置空间读取出来厂商字符串信息的?pcie设备的配置空间常规的只有64bytes,而使用lspci可以详细的关于该设备的字符串信息。这些信息并不是存储在配置空间,而是根据系统中配置文件数据库,根据vendor id和device id获取的。本文简单介绍该文件路径,方式。
2025-05-02 22:39:23
324
原创 【微知】关于 Mellanox BF3 DPU 上 rshim 的深入解析(一)?以及如果无法创建rshim设备如何处理?
包括要提供boot、misc、console、rshim等多个通道,体现了Mellanox 20多年运维网卡的经验(比如要提供一个tmfifo_net来与网卡通信,这个通道可以简化很多实验环境单机完成HOST和ARM通信,我想新开发DPU的厂商如果设计了这个 应该能省不少事儿;他在硬件上有一个专门的硬件单元。可以看到tmpfifo_net是在rshim进程启动后rshim_main中的work,启动rshim_net_init创建的,如果rshim_no_net为0,表示要开启tmpfifo就会来创建。
2025-05-02 22:23:06
1025
原创 【微知】如何写一个用户态扫描PCIe设备读取PCIe配置空间的程序?
PCIe设备交互需要基于TLP报文,读取PCIe设备配置空间这些操作在linux内核比较方便,在用户态也有lspci、setpci等工具。如何自己手写一个用户态的PCIe设备,来扫描PCIe设备实现类似lspci的效果,本文是一个简单的实验借助 pciutils 库来扫描并显示系统里 PCI 设备的相关信息。
2025-05-02 22:18:50
312
原创 【问题解决】编译用户态PCIe程序报错fatal error: pci/pci.h: No such file or directory如何处理?yum install pciutils-devel
本文记录因为系统未安装PCIe用户态编译工具造成用户态PCIe程序编译报错的处理方法。
2025-05-02 22:03:14
271
原创 【微知】vim粘贴代码如何避免遇到自动添加换行,自动添加注释造成格式混乱?(:set paste)
vim中粘贴进厂遇到自动添加换行,自动添加注释造成格式混乱。本文简单记录解决办法。
2025-05-02 21:36:04
209
原创 【微知】vim替换如何一个个选择?(:%s/old/new/gc)
表示在替换前进行确认,即一个个选择是否替换。替换当前及后面所有的匹配项,表示全局替换,global。表示对整个文件进行操作,是要被替换的字符串,键表示退出替换操作。
2025-05-01 23:07:01
143
Bluefield 2固件镜像版本,fw-MBF2M345A-VENOT-ES-Ax-24.40.1000.bin
2024-11-24
neohost-backend-1.5.0-102.x86_64.rpm neohost-sdk-1.5.0-102.x86_6
2025-04-12
mlnx-tools安装包x86版本
2025-04-12
光互连论坛通用管理接口规范(CMIS)第5.3修订版:模块与主机通信标准及其应用
2025-03-05
Intel Virtualization Technology for Directed I/O Architecture Specification
2025-03-19
ARM-SMMU-Arm System Memory Management Unit(SMMU,系统内存管理单元)
2025-03-19
SFF-8024: SFF Module Management Reference Code Tables
2025-03-04
SFF-8024-V4.12: SFF Module Management Reference Code Tables
2025-03-04
Mellanox Adapters Programmer’s Referenc 网卡用户编程手册(PRM)V0.4
2024-11-07
Mellanox Connect-X系列网卡的网卡驱动从V4.2到V24.07-累计21个OFED版本代码
2024-11-01
ArmV9 Architecture Reference Manual for A-profile architecture
2024-10-25
P100驱动-支持黑神话悟空版本-538.67
2024-09-08
翻译版 拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法
2024-04-01
c语言函数调用关系图自动生成方法之使用egypt和gcc的-fdump-rtl-expand生成Graphviz
2023-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人