Darshan日志分析
标头

darshan-parser 输出的开头显示了有关作业的总体信息的摘要。还可以使用–perf、–file或–total命令行选项生成其他作业级别摘要信息。
- darshan log version:Darshan 日志文件的内部版本号。
- compression method:压缩方法。
- exe:生成日志文件的可执行文件的名称。
- uid:作业运行时的用户ID。
- jobid:来自调度程序的作业ID。
- start_time:作业的开始时间(自纪元以来的秒数)。
- start_time_asci:作业的开始时间,采用人类可读的格式。
- end_time:作业的结束时间,自纪元以来的秒数。
- end_time_asci:作业的结束时间,采用人类可读的格式。
- nprocs:MPI 进程数。
- run time:作业的运行时间(以秒为单位)。
日志文件区域大小

解析器输出的下一部分显示给定日志文件中包含的每个区域的大小。每个日志文件将包含以下区域:
- header:恒定大小的未压缩标头,提供有关如何正确访问日志的数据。
- 作业数据:日志的作业级元数据(例如,开始/结束时间和 exe 名称)。
- 记录表:将 Darshan记录标识符映射到完整文件名路径的表。
- 模块数据:每个模块(例如,POSIX、MPI-IO 等)将其 I/O 特征数据存储在日志的不同区域中。
除标头外,日志文件的所有区域都经过压缩(采用 libz 或 bzip2 格式)。
已挂载的文件系统表
输出的下一部分显示了作业运行时安装的所有通用文件系统的表。每行使用以下格式:
<mount point> <fs type>

I/O 特征字段的格式

输出的其余部分将显示应用程序打开的每个文件的特征。每行使用以下格式:
<module> <rank> <record id> <counter name> <counter value> <file name> <mount point> <fs type>
module:指定负责记录这条I/O特征数据的模块。
rank:指示打开文件的进程的等级。等级值为 -1 表示文件在所有进程间共享,并且统计信息被聚合。
record id:是打开的文件路径/名称的 64 位哈希值。它用作唯一区分每个文件的方法。
counter name和counter value:统计计数器。值 -1 表示 Darshan 无法收集该特定计数器的统计信息,并且应忽略该值。
file name:字段显示记录对应的完整文件名。
mount point:该文件所属文件系统的挂载点
fs type:该文件系统的类型。
I/O特征字段
1.POSIX模块

-
POSIX_*:POSIX操作计数。
-
READS、WRITES、OPENS、SEEKS、STATS、MMAPS、SYNCS、FILENOS、DUPS是操作类型。
-
POSIX_RENAME_SOURCES/TARGETS:此文件作为重命名操作源/操作目标的次数
-
POSIX_RENAMED_FROM:如果文件是重命名目标,则第一个重命名源的Darshan记录ID
-
POSIX_MODE:打开文件的模式。
-
POSIX_BYTES_*:读取和写入的总字节数。
-
POSIX_MAX_BYTE_*:读取和写入的最高偏移字节。
-
POSIX_CONSEC_*:与上次访问紧邻的读写次数。
-
POSIX_SEQ_*:从增加的偏移量读取和写入的次数。
-
POSIX_RW_SWITCHES:在读取和写入之间交替访问的次数。
-
POSIX_*_ALIGNMENT:内存和文件对齐。
-
POSIX_*_NOT_ALIGNED:未对齐的读写次数。
-
POSIX_MAX_*_TIME_SIZE:最慢的读写操作的大小。
-
POSIX_SIZE__:读取和写入访问大小的直方图。
-
POSIX_STRIDE*_STRIDE:检测到的四个最常见的步幅。
-
POSIX_STRIDE*_COUNT:四个最常见步幅的计数。
-
POSIX_ACCESS*_ACCESS:四种最常见的访问大小。
-
POSIX_ACCESS*_COUNT:四种最常见的访问大小的计数。
-
POSIX_*_RANK:I/O速度最快和最慢的进程的级别(对于共享文件)。
-
POSIX_*_RANK_BYTES:由最快和最慢列组传输的字节(对于共享文件)。
-
POSIX_F_*_START_TIMESTAMP:第一次打开/读取/写入/关闭的时间戳。
-
POSIX_F_*_END_TIMESTAMP:最后一次打开/读取/写入/关闭的时间戳。
-
POSIX_F_READ/WRITE/META_TIME:用于读取、写入或元数据操作的累计时间。
-
POSIX_F_MAX_*_TIME:最慢读写操作的持续时间。
-
POSIX_F_*_RANK_TIME:单个列组的最快和最慢I/O时间。
-
POSIX_F_VARIANCE_RANK_*:所有列组的总I/O时间和移动字节的方差。

2.STDIO模块


3.HEATMAP


4.MPI-IO模块
相关文章:
Darshan日志分析
标头 darshan-parser 输出的开头显示了有关作业的总体信息的摘要。还可以使用–perf、–file或–total命令行选项生成其他作业级别摘要信息。 darshan log version:Darshan 日志文件的内部版本号。compression method:压缩方法。exe:生成日志…...
python中如何不修改字符串的前提,使其对大小写字母不敏感
如果你希望在不修改原字符串的基础上实现大小写不敏感的比较,你可以使用内置函数str.casefold(),它会将字符串转换为小写并处理一些特殊字符,使得比较更加严格。下面是如何使用它来实现大小写不敏感的比较: x input() y input()…...
聊聊Http服务化改造实践
在微服务架构体系中远程RPC调用主要包括Dubbo与Http调用两个大类,由于Dubbo拥有服务注册中心,并且起服务的命名非常规范,使用包名.类名.方法名进行描述。 而http调用通常都是使用httpclient等相关类库,这些在使用上并没有问题&am…...
docker打包部署
打包成容器命令 docker build -f ./Dockerfile-long -t 名称.打包镜像 tar docker save -o 名称.tar 名称:latest执行sudo -i,提示输入用户密码,输入密码后进入超级用户(root)模式 linux上传文件 rz -ytar恢复成镜像 sudo docker…...
解密Spring MVC异常处理:从局部到全局,打造稳固系统的关键步骤
😀前言 在现代软件开发中,异常处理是不可或缺的一部分,它能够有效地提高系统的稳定性和健壮性。在Spring MVC框架中,异常处理机制起着至关重要的作用,它允许开发者在程序运行过程中捕获、处理和报告异常,从…...
Three.js添加阴影和简单后期处理
在Three.js中,可以使用渲染器的一些特性来实现阴影和后期处理效果。 添加阴影 要在Three.js中添加阴影效果,需要做以下几个步骤: 1.开启阴影 首先,要在渲染器中开启阴影: renderer.shadowMap.enabled true;2.设置…...
git submodule 子模块的基本使用
常用命令 命令说明git submodule add <url> <本地路径>添加子模块git submodule update --init --recursive添加子模块后,同步子模块内容git clone <url> --recurse-submodules克隆带有子模块的项目git submodule init初始化子模块git submodule…...
四层负载均衡的NAT模型与DR模型推导 | 京东物流技术团队
导读 本文首先讲述四层负载均衡技术的特点,然后通过提问的方式推导出四层负载均衡器的NAT模型和DR模型的工作原理。通过本文可以了解到四层负载均衡的技术特点、NAT模型和DR模型的工作原理、以及NAT模型和DR模型的优缺点。读者可以重点关注NAT模型到DR模型演进的原…...
【vue】vue前端实现随机验证码(数字、字母混合)功能
效果图:使用canvas组件对随机的数字字母添加插画背景、干扰线、干扰点 1、在components文件夹下新建securityCode.vue文件,代码: <template><canvas id"s-canvas" :width"contentWidth" :height"contentH…...
使用Visual Studio 2022实现透明按钮和标签、POPUP样式窗体的一种工业系统的UI例程
例程实现的功能说明 1、主窗体采用POPUP样式,无标题栏、无菜单栏,适合工业类软件 2、按钮、标签使用自绘,实现透明样式,可以实现灵活的样式设计,更具设计感 按钮重绘函数:OnDrawItem()按钮样式设定&#…...
【爬虫】7.1. JavaScript动态渲染界面爬取-Selenium
JavaScript动态渲染界面爬取-Selenium的简单学习 文章目录 JavaScript动态渲染界面爬取-Selenium的简单学习1. Selenium准备工作2. Selenium简单用法2.1. 初始化浏览器对象-webdriver.Chrome()2.2. 访问界面-browser.get()2.3. 查找节点-find_element()2.4. 节点交互-send_keys…...
菜鸟教程《Python 3 教程》笔记(12):推导式
菜鸟教程《Python 3 教程》笔记(12) 12 推导式12.1 列表推导式12.2 字典推导式12.3 集合推导式12.4 元组推导式(生成器表达式) 笔记带有个人侧重点,不追求面面俱到。 12 推导式 出处: 菜鸟教程 - Python3 …...
MAC修改python3命令为py
1, 找到python3安装路径 2, vi ~/.bash_profile 3, 增加内容: alias py“/usr/bin/python3” 4, 重载source ~/.bash_profile 5,执行py...
Windows下Git Bash调用rsync
rsync 提供了补充只需要在git安装目录下放入对应的文件即可。 需要将这个三个文件放到git的bin目录下 如果是默认安装路径是如下: C:\Program Files\Git\usr\bin 然后大功告成。...
springboot自定义事件发布及监听
自定义线程池 Configuration public class MyThreadPool {//ThreadPoolTaskExecutor不会自动创建ThreadPoolExecutor,需要手动调initialize才会创建。如果Bean就不需手动,会自动InitializingBean的afterPropertiesSet来调initializeBean("myExecut…...
手写RPC框架--2.介绍Zookeeper
RPC框架-Gitee代码(麻烦点个Starred, 支持一下吧) RPC框架-GitHub代码(麻烦点个Starred, 支持一下吧) 该项目的RPC通信将采用NettyZookeeper,所以会在前两章介绍使用方法 介绍Zookeeper Zookeepera.概述1) 数据模型2) Watcher机制 b.安装和基本操作1) Java操作zooke…...
Docker harbor 私有仓库的部署和管理
目录 一、什么是Harbor 二、Harbor的特性 三、Harbor的构成 四、部署配置Docker Harbor 1. 首先需要安装 Docker-Compose 服务 2.部署 Harbor 服务 3.使用harbor仓库 (1)项目管理 (2)用户管理 一、什么是Harbor Harbor …...
从零开始搭建AI网站(6):如何使用响应式编程
响应式编程(Reactive Programming)是一种编程范式,旨在处理异步数据流和事件流。它通过使用观察者模式和函数式编程的概念,将数据流和事件流抽象为可观察的序列,然后通过操作这些序列来实现各种功能。 在响应式编程中…...
MPI之虚拟进程拓扑
什么是虚拟进程拓扑 在很多并行应用进程中,进程的线性排列不能充分的反映进程间在逻辑上的通信模型,通常由问题几何和所用的算法决定,进程经常被排列成二维或者三维网络形式的拓扑模型而通常用一个图来描述逻辑进程排列,此种逻辑…...
Three.js相机参数及Z-Fighting问题的解决方案
本主题讨论透视相机以及如何为远距离环境设置合适的视锥体。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 透视相机是一种投影模式,旨在模仿人类在现实世界中看待事物的方式。 这是渲染 3D 场景最常用的投影模式。 - three.js 如果你看一下 Three.js 文档…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
