snakemake分享ppt
bench
通过 benchmark 指定输出文件,可以记录每个任务运行过程中所使用的计算资源。
1 | rule Demo: |
运行rule后,会在 log.txt 文件中输出任务运行的相关资源信息。
| s | h: m: s | max_rss | max_vms | max_uss | max_pss | io_in | io_out | mean_load |
|---|---|---|---|---|---|---|---|---|
| 1653.7956 | 0:27:33 | 11794.34 | 39378.64 | 11782.93 | 11787.65 | 5094.00 | 2639.98 | 118.52 |
| 其中每个字段含义如下(官网链接): |
- s: 运行时间,秒为单位
- h: m: s : 运行时间,时分秒制
- RSS: Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- uss: 最大虚拟内存
- USS: Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
- PSS: Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
- io_in: I/O read in bytes
- io_out: I/O written in bytes
- mean_load
- VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
统计任务CPU时
随着计算的精细话管理,越来越多的工作需要精确统计每个步骤/每个流程分析所需时间, 使用的snakemake版本大于5.30时,框架自带的benchmark 记录会保存每个任务的cpu_time。
1 | # <= v5.29 |