- 博客(219)
- 资源 (1)
- 收藏
- 关注
翻译 解释/proc/meminfo和free输出(适用Red Hat Enterprise Linux)
本文解释了RHEL系统中/proc/meminfo文件输出的含义,并对比了不同版本下free -k命令与/proc/meminfo的对应关系。主要内容包括: 不同RHEL版本中/proc/meminfo字段的差异,如RHEL 5-6与RHEL 7+的区别 详细对比了free -k输出与/proc/meminfo字段的映射关系 重点说明了RHEL 7+新增的MemAvailable字段及其作用 解释了内存统计中的关键指标(MemTotal、MemFree、Buffers、Cached等) 提供了诊断内存消耗的
2025-09-02 19:35:41
13
原创 Qperf
Qperf 网络性能测试工具简介 Qperf 是一款轻量级网络性能测试工具,支持测量带宽和延迟,兼容TCP/UDP和RDMA协议。工具分为服务端(被动监听)和客户端(主动测试)两种模式,提供丰富的测试程序如rc_bw(RDMA带宽)、tcp_lat(TCP延迟)等。安装简单(yum install qperf),使用时先启动服务端,客户端通过命令如"qperf 10.230.1.11 tcp_bw"进行测试。支持调节消息大小、MTU等参数,适用于数据中心网络评估和性能调优,可通过详细选项
2025-08-25 15:42:55
279
翻译 在 RHEL 上的 XFS 文件系统中首次读取大文件时的延迟
摘要: 在RHEL7系统的XFS文件系统中,首次读取大文件时出现性能延迟问题。该问题源于高度碎片化文件的元数据读取操作,当存储设备IOPS性能较差时尤为明显。解决方案包括:检查存储性能、使用xfs_fsr进行碎片整理,以及通过xfs_io设置目录区段大小提示(如4M)。诊断时可检查进程堆栈、iostat数据中的高r_await值,并使用xfs_bmap统计文件区段数量。根本原因在于碎片化文件导致元数据读取分散,加剧了低速存储设备的延迟。
2025-07-10 08:55:08
62
翻译 Cppcheck手册-中文版
Cppcheck会自动测试不同的预处理器定义组合,以实现尽可能高的分析覆盖率。这里有一个文件,其中包含3个错误(当x、y、z被赋值时)。#ifdef A#ifdef B#elseendif#endif#ifndef C#endif-D标志告诉Cppcheck某个名称是已定义的。如果没有此定义,则不会进行Cppcheck分析。-U标志告诉Cppcheck某个名称是未定义的。如果使用了此定义,则不会进行Cppcheck分析。--force和标志用于控制检查的组合数量。当使用-D。
2025-05-08 17:33:45
464
原创 ganesha-DBUS
速率的计算方法是从新计数中减去旧计数,然后将结果除以计算为旧时间戳和新时间戳之间的差异的间隔,然后是通常的标准化数学来计算每(秒、分钟、天、 世纪)。统计信息的累积和报告方式使服务器开销最小,因为这些计数器中的每一个都位于服务器每个操作的主代码路径中。所有计数器和计时器都是从服务器启动时间开始累积的,并使用原子操作,因此任何单个计数器都是线程安全的。然而,这并不是一个真正的问题,因为在计算速率时,以一种或另一种方式的单个增量或添加时间是一个小错误。通过这种方式,如果服务器必须重启,它将提供包含的新导出。
2025-04-30 13:35:48
1018
原创 chrony时钟源状态
这些状态符号让用户了解每个时间源的健康状况及其对系统时间同步的影响。管理员可以通过这些符号快速识别哪些源是可靠的,哪些源可能存在问题或不适合用于时间同步。该符号表示该时间源被认为是有效的,并且它有助于系统的时间同步,但并不是当前系统时间的主要同步源。该符号表示该时间源当前已同步,并且是系统时间的主要同步源。检测到该源的时间与系统时间可能存在较大偏差,或者该源的时间不稳定。由于它的时间可能有误,每个时间源都有一个状态符号,表示其与系统时间同步的状态。该符号表示该源的时间波动性过大,时间变化太不稳定,因此。
2025-04-27 09:04:20
432
翻译 MD-Workbench
MD-Workbench 基准测试是一个 MPI 并行基准测试,用于衡量元数据(连同小文件)的性能。其旨在模拟文件系统上的实际用户活动,例如编译。与其他元数据基准测试不同,它产生的访问模式不易被现有(并行)文件系统缓存和优化。例如,在我们的系统上,其性能远低于 mdtest(10k IOPS 对比 mdtest 不切实际的 1M IOPS)。下面是一个单个本地 HDD 的示例,展示了文件系统对“批量”创建/删除/查找操作的缓存效果。
2025-04-01 12:19:12
82
翻译 Ginkgo 编写规格
Ginkgo使得编写富有表现力的规格变得容易,这些规格以有组织的方式描述代码的行为。我们已经看到Ginkgo套件是规格的分层集合,由容器节点、设置节点和主题节点组成,组织成规格树。在本节中,我们将深入探讨Ginkgo中可用的各种节点及其属性。
2024-12-26 18:49:37
130
转载 ceph admin keyring丢失fix
之前部署的环境未按标准操作,Mon服务起来了,但是未保存keyring,执行命令的时候提示keyring找不到,于是有了这篇文章。确认keyring丢失,但是mon服务存活。修复就一条命令,如下。
2024-12-10 14:22:44
259
翻译 如何启用NFS相关的调试日志记录
如果获得这些调试信息的目的是将其提供给其他人进行分析,那么可能需要该人提前提供有关针对您的特定症状使用何种故障排除和数据收集方法的输入。还要注意,调试日志记录可能非常密集和冗长,可能会降低系统的性能。在非常确定问题所在的情况下(nfs服务器vs nfs客户端),可能不需要在两端启用调试。是一个命令行工具,它可以启用或禁用与 NFS 相关的各种模块的调试功能,以及这些模块中的各种类别的调试日志。启用调试后,调试会在日志上创建大量输出,可能会影响系统性能。要禁用相应的调试选项,请使用相同的命令,但使用。
2024-11-21 10:44:48
422
翻译 使用WIRESHARK对NFS分析
当Wireshark知道某个文件句柄的名称,并且在捕获过程中再次遇到该文件句柄时,Wireshark将在解析窗格中插入一个额外的字段,其中包含该文件句柄所指向的文件的名称。在下面的示例中,由于我们在跟踪中有原始的MOUNT调用以及LOOKUP调用,告诉我们路径中所有子目录的名称,因此Wireshark在这里将字段“Full Name: 139.25.22.102:/home/girlich/export/b”添加到文件句柄的解析中。请记住,只有在文件的完整路径已知的情况下,这个字段才会出现在解析中。
2024-11-03 21:38:03
454
翻译 MinIO集群基准测试方法和工具
本文介绍了用于基准测试、监视和分析MinIO集群性能的方法和工具。使用fio来检查单个和并发硬盘I/O性能。使用dperf和iozone来测试JBOD性能。Warp[4]是一个用于对MinIO性能进行基准测试的S3基准工具。使用Prometheus和Linux命令(如pidstat、iostat和sar)监视CPU/内存/硬盘/网卡的使用情况。mc10]工具是由MinIO开发的命令行管理工具,用于对MinIO进行分析。
2024-10-25 17:36:38
1094
翻译 Ceph Cluster in HEALTH_WARN with 1 MDSs report slow requests and 1 MDSs behind on trimming
我们看到有17771个被阻塞的Ops,这个问题在大约32小时前就开始了。如果遇到类似的问题,请遵循以下步骤。在RHCS 6.1z2及更高版本中解决了代码问题。代码问题将在RHCS 5.3z6中解决。在输出文件中查找时间戳,并记录下两个最老的Blocked Ops的所有数据。选择要从MDS中驱逐的2个客户端之一。Red Hat建议升级以从您的环境中消除此问题的可能性。)的,这些请求已经存在了数小时,并且MDS尚未重启。,认为它刚刚开始,而不是已经在中间。开始,两个操作之间出现了死锁。通常情况下,在MDS。
2024-10-16 12:23:53
373
原创 l_whence 的可能值及其含义
SEEK_SET: 锁定区域相对于文件开头。用于锁定文件的某个绝对位置到指定的长度。SEEK_CUR: 锁定区域相对于当前文件位置。用于在文件当前位置基础上进行锁定。SEEK_END: 锁定区域相对于文件末尾。用于锁定文件的最后部分或倒数部分。
2024-08-31 10:33:10
560
原创 vdbench FAQ
Oracle维护的一个磁盘IO性能工具,用于产生磁盘IO 负载测试磁盘性能和数据完整性。目前官方不再开发该工具。主流使用的5.04.06和5.04.07。
2024-08-22 18:46:45
1373
原创 区分堆溢出和栈溢出的方法
在 C 语言中,区分堆溢出(Heap Overflow)和栈溢出(Stack Overflow)通常依赖于理解它们的特性和行为。
2024-08-18 11:27:54
867
原创 nm 命令的符号类型代码
命令的符号类型代码用于表示符号在目标文件(如可执行文件或共享库)中的位置和性质。这些符号类型代码帮助了解符号的定义位置和范围,在进行调试、链接和分析时非常有用。
2024-08-15 21:46:22
765
转载 What are the Red Hat Ceph Storage releases and corresponding Ceph package versions
Red Hat Ceph Storage 7.xNOTE: RHCS 7 is supported containerized only and only ships RHEL 9 containerRed Hat Ceph Storage 6.xNOTE: RHCS 6 is supported containerized only and only ships RHEL 9 containerRed Hat Ceph Storage 5.xNOTE: RHCS 5 is supported con
2024-07-05 17:20:42
241
原创 狄克斯特拉算法
狄克斯特拉算法(Dijkstra’s algorithm)是一种用于在带权图中找到从单一源点到所有其他顶点的最短路径的算法。它适用于处理带有非负权值的图。下面将详细解释算法的工作原理、时间复杂度以及如何通过优化数据结构来改进其性能。
2024-06-30 18:23:01
859
原创 理解堆排序
在堆排序的过程中,虽然我们使用了堆这种数据结构,但实际上,所有的操作都是在数组内部进行的。通过交换数组中的元素,我们在数组上模拟了堆的插入、删除和调整操作。这样,我们可以利用数组的连续内存空间和高效的索引访问特点,同时享受堆数据结构带来的排序优势。
2024-06-23 13:09:56
712
转载 __attribute__((constructor))、 __attribute__((destructor))
GNU C 的一大特色就是机制。可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的参数。
2024-06-10 11:50:02
210
转载 内存泄漏检测工具Valgrind:C++代码问题检测的利器(二)
Valgrind(Valgrind)的强大之处在于其灵活性,它允许用户自定义检测规则,以适应不同的编程需求和环境。这一部分,我们将详细介绍如何自定义Valgrind的检测规则。首先,我们需要了解Valgrind的工作原理。Valgrind是一个动态二进制仪器(Dynamic Binary Instrumentation,DBI),它在运行时对程序进行分析和修改。
2024-06-07 21:32:10
324
转载 内存泄漏检测工具Valgrind:C++代码问题检测的利器(一)
Valgrind(瓦尔格林德)是一个开源的内存调试工具,它能帮助我们发现程序中的许多难以察觉的问题,如内存泄漏、数组越界等。它的名字来源于北欧神话中的英灵殿的入口,象征着我们通过它能找到程序中隐藏的问题,就像英灵殿的勇士们找到了英勇的道路。Valgrind的功能强大,但是使用起来并不复杂。在接下来的章节中,我们将详细介绍如何使用Valgrind进行代码问题的检测。
2024-06-07 21:23:20
1120
翻译 Valgrind
是一个检测框架,它附带了一系列用于分析应用程序性能的工具。它可以用于检测各种内存错误和内存管理问题,例如使用未初始化的内存或不当的内存分配和释放,或识别系统调用中使用不当的参数。要获取随 Red Hat Developer Toolset 版本 Valgrind 分发的完整分析工具列表,请参见表 12.1,“随 Red Hat Developer Toolset 分发的 Valgrind 工具”。Valgrind 通过重写应用程序并对其重写的二进制文件进行检测来分析应用程序。
2024-06-04 22:39:38
118
翻译 smb.conf中的变量替换
这些替换大多在下面的说明中指出,但也有一些通用的替换,只要可能与之相关就适用。配置文件中可设置的许多字符串都可以进行替换。选项可以做一些非常有创意的事情。
2024-05-29 19:04:01
117
原创 C语言和BASH SHELL中条件表达式的真假与0和1的关系
因此,在C语言中,通常使用0表示假,而使用1(或任何非零值)表示真。这是C语言中布尔类型的基础,以及条件语句(如if语句)和循环语句(如while和for循环)的基础。这意味着在Bash shell中,通常使用0表示真,而使用非零值表示假。这是Bash shell中条件语句(如if语句)和循环语句(如while和for循环)的基础。因此,在Bash shell中,非零退出状态码表示条件为假,而退出状态码为0表示条件为真。这与C语言中的逻辑相反。
2024-05-12 15:49:09
466
原创 mq_attr结构介绍
指示当前消息队列中存在的消息数量。这个字段通常由系统维护,用户可以读取它来获取消息队列中当前的消息数量。: 定义消息队列中单个消息的最大字节数。这个值决定了消息的最大大小限制。: 定义消息队列中最大消息数量。当消息队列满时,新消息将被拒绝加入。结构的字段指定队列允许的最大消息数和最大消息大小。消息队列的属性结构,用于描述消息队列的特性和限制。: 用于设置消息队列的标志。函数获取,并且在创建消息队列时可以通过。,表示以非阻塞模式打开消息队列。
2024-05-04 20:56:09
613
转载 nm 简明教程
现代的编程语言越来越智能,开发工具链越来越完善,各种 IDE 更是将程序员往傻瓜方向带,导致不少程序员(特别是开发上层应用的程序员)对程序的编译过程不甚了解。日常开发过程中的编译也就是按个按钮或者敲一条指令就完成了整个编译构建的过程,也的确接触不到这个编译过程中的细节。上图是 GCC 编译过程的分解,从图中可以看到整个过程分为预处理编译汇编链接等几个过程。目前常见的静态编译型的语言多数也会涉及到其中的编译汇编链接等步骤,只不过是强大的工具链将这些细节为我们隐藏了罢了。而符号在这其中扮演着重要的角色。
2024-04-13 22:59:25
434
翻译 systemd.service
PID 文件不需要由特权用户拥有,但如果由非特权用户拥有,则会执行额外的安全限制:该文件不得是不同用户拥有的文件的符号链接(既不能是直接链接,也不能是间接链接),而且 PID 文件必须指向已属于服务的进程。需要注意的是,这种类型只能用于改善控制台输出,不能作为一般的单元排序工具,而且这种服务类型的效果会受到 5 秒超时的限制,超时后服务程序还是会被调用。从特定服务传递给服务管理器的所有文件描述符在下一次服务重启时都会传回给服务的主进程(有关使用的确切协议和传递文件描述符的顺序的详细信息,参见。
2024-04-11 18:52:23
842
原创 Shell 字符串操作符
这些字符串操作符可以在 Shell 脚本中灵活应用,用于对字符串进行处理和转换,方便进行文本操作和字符串操作。在 Shell 脚本中,字符串操作符可以帮助你对字符串进行各种操作,比如截取子串、替换内容等。
2024-03-10 16:42:27
371
原创 ascii-table
ASCII-tableDECOCTHEXBINCharacter00000000000000NUL (null)10010100000001SOH (start of heading)20020200000010STX (start of text)30030300000011ETX (end of text)40040400000100EOT (end of transmission)500505000
2024-02-24 20:16:30
1084
翻译 Ceph reports clients failing to respond to cache pressure
在OCP/ODF平台中,当pod试图启动并且花费太多时间(分钟或小时)时,可以报告此错误,通常它试图挂载包含数百万文件的cepfs PV,并且pod留在。当pod最终启动时,ceph错误被清除。
2024-02-19 11:18:58
461
翻译 Xfstests-nfs
配置脚本可能会抱怨缺少运行测试所需的包。您应该使用发行版的包管理器安装它们,并在继续之前重新运行./configure(有关示例,请参阅README)。make最后,在NFS服务器上配置test和scratch导出。
2024-01-17 16:04:59
249
转载 Linux错误码含义
Linux错误码含义Code NameValueDescriptionEPERM1Operation not permittedENOENT2No such file or directoryESRCH3No such processEINTR4Interrupted system callEIO5I/O errorENXIO6No such device or addressE2BIG7Arg list too lon
2024-01-15 10:59:00
287
翻译 BlueStore压缩性能
使用BlueStore OSD后端,Red Hat Ceph Storage获得了一种称为“动态数据压缩”的新功能,有助于节省磁盘空间。可以对在BlueStore osd上创建的每个Ceph池启用或禁用压缩。除此之外,使用Ceph CLI可以随时更改压缩算法和模式,而不管池中是否包含数据。在本文中,我们将深入探讨BlueStore的压缩机制,并了解其对性能的影响。BlueStore中的数据是否被压缩由压缩模式和与写操作相关的任何提示的组合决定。
2023-11-09 14:48:10
677
翻译 openstack SWIFT ACLs
通常,要创建、读取和修改容器和对象,必须在项目中拥有与帐户相关联的适当角色,即必须是帐户的所有者。但是,所有者可以通过使用访问控制列表(ACL)向其他用户授予访问权限。
2023-07-08 11:48:03
356
转载 重新夺回对 /etc/resolv.conf 的控制权
随着 Linux 的不断发展壮大,涌现出了各种各样的 DNS 自动管理程序,它们都想要直接获得。
2023-07-06 09:54:46
1263
UH811a&UH831a PCIe SSD产品规格
2025-07-10
《阿里开发者手册-Golang专题.pdf》
2025-07-09
iSCSI Extensions for RDMA(简称iSER)协议的详细规范文档
2025-07-06
valgrind-manual.pdf
2025-07-03
NVIDIA固件工具(MFT)v4.26文档:系统管理员用于管理和调试NVIDIA设备固件的工具集介绍
2025-07-03
Ceph分布式文件系统优化:基于F2FS-split的HPC环境存储性能提升方案设计
2025-06-28
【分布式存储系统】基于Elasticsearch的Ceph RGW元数据搜索系统设计与实现:确保数据一致性和高效检索
2025-06-20
【网络文件系统】NFSv4协议的XDR描述:分布式文件系统数据表示标准设计
2025-06-20
【网络文件系统】NFSv4.2版本外部数据表示标准(XDR)描述:互联网工程任务组技术规范
2025-06-20
### 云计算Amazon S3开发人员指南:API版2006-03-01-存储与管理云端数据的全面指南
2025-06-16
存储技术PBlaze7-7A40系列PCIe 5.0 NVMe SSD:高性能低延迟企业级固态硬盘产品介绍
2025-05-12
面向高速硬件的高性能文件系统设计与优化:基于IO500评测的SuperFS实践
2025-04-24
介绍IBM Spectrum Scale
2018-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人