测试代码一:fopen-fclose
#include<stdio.h> #include<string.h> #include<stdlib.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> void main(void) { FILE *p; int i; sleep(2); pid_t my_pid; my_pid=getpid(); printf("%d\n",my_pid); p=fopen("./c1.txt","w"); fclose(p); }
测试结果:大多数情况blktrace不能捕捉到该进程号的信息。偶尔有一个完成信息如下:是否能捕捉到该输出与fopen的文件是否是新建的,还是已经有的无关。
#include<stdio.h> #include<string.h> #include<stdlib.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> void main(void) { FILE *p; int i; pid_t my_pid; my_pid=getpid(); printf("%d\n",my_pid); p=fopen("./new.txt","w"); if(p==NULL)printf("open error\n"); for(i=0;i<=10000;i++) {fprintf(p,"test\n");} fclose(p); }
这个测试有一个很有意思的现象,当 p=fopen("./new.txt","w");打开的是一个新的文件,或者该文件存在,但里面的内容为空时。blktrace追踪不到该进程号的动作。只有当该写操作为替换写时,即new.txt里面本来就有内容才能追踪到进程号的结果。用awk语句打印第五列为该程序运行进程号的结果如下:
ps 这边附上最后一列的含义:
38481704 + 8 [blktrace_study]
表示操作的起始扇区号是38481702,一个block对应8个扇区,该动作是运行./blktrace_study程序产生的,故[blktrace_study]
关于如何查看block大小,以及如何查看扇区sector大小,见附录
root@-desktop:/home# awk '{if($5==1836)print}' write_10000 8,0 0 1 0.000000000 1836 A W 38481704 + 8 <- (8,1) 38479656 8,1 0 2 0.000021158 1836 Q W 38481704 + 8 [blktrace_study] 8,1 0 3 0.000061314 1836 G W 38481704 + 8 [blktrace_study] 8,1 0 4 0.000094795 1836 P N [blktrace_study] 8,1 0 5 0.000116847 1836 I W 38481704 + 8 [blktrace_study] 8,0 0 6 0.000389947 1836 A W 38481712 + 8 <- (8,1) 38479664 8,1 0 7 0.000409743 1836 Q W 38481712 + 8 [blktrace_study] 8,1 0 8 0.000439621 1836 M W 38481712 + 8 [blktrace_study] 8,0 0 9 0.000484293 1836 A W 38481720 + 8 <- (8,1) 38479672 8,1 0 10 0.000500468 1836 Q W 38481720 + 8 [blktrace_study] 8,1 0 11 0.000521973 1836 M W 38481720 + 8 [blktrace_study] 8,0 0 12 0.000543904 1836 A W 38481728 + 8 <- (8,1) 38479680 8,1 0 13 0.000559526 1836 Q W 38481728 + 8 [blktrace_study] 8,1 0 14 0.000580345 1836 M W 38481728 + 8 [blktrace_study] 8,0 0 15 0.000602297 1836 A W 38481736 + 8 <- (8,1) 38479688 8,1 0 16 0.000618087 1836 Q W 38481736 + 8 [blktrace_study] 8,1 0 17 0.000639632 1836 M W 38481736 + 8 [blktrace_study] 8,0 0 18 0.000663443 1836 A W 38481744 + 8 <- (8,1) 38479696 8,1 0 19 0.000679302 1836 Q W 38481744 + 8 [blktrace_study] 8,1 0 20 0.000701119 1836 M W 38481744 + 8 [blktrace_study] 8,0 0 21 0.000724823 1836 A W 38481752 + 8 <- (8,1) 38479704 8,1 0 22 0.000740626 1836 Q W 38481752 + 8 [blktrace_study] 8,1 0 23 0.000762333 1836 M W 38481752 + 8 [blktrace_study] 8,0 0 24 0.000783543 1836 A W 38481760 + 8 <- (8,1) 38479712 8,1 0 25 0.000799213 1836 Q W 38481760 + 8 [blktrace_study] 8,1 0 26 0.000819966 1836 M W 38481760 + 8 [blktrace_study] 8,0 0 27 0.000840923 1836 A W 38481768 + 8 <- (8,1) 38479720 8,1 0 28 0.000856557 1836 Q W 38481768 + 8 [blktrace_study] 8,1 0 29 0.000877187 1836 M W 38481768 + 8 [blktrace_study] 8,0 0 30 0.000898041 1836 A W 38481776 + 8 <- (8,1) 38479728 8,1 0 31 0.000913653 1836 Q W 38481776 + 8 [blktrace_study] 8,1 0 32 0.000934512 1836 M W 38481776 + 8 [blktrace_study] 8,0 0 33 0.000955243 1836 A W 38481784 + 8 <- (8,1) 38479736 8,1 0 34 0.000970986 1836 Q W 38481784 + 8 [blktrace_study] 8,1 0 35 0.000991683 1836 M W 38481784 + 8 [blktrace_study] 8,0 0 36 0.001012421 1836 A W 38481792 + 8 <- (8,1) 38479744 8,1 0 37 0.001028058 1836 Q W 38481792 + 8 [blktrace_study] 8,1 0 38 0.001048959 1836 M W 38481792 + 8 [blktrace_study] 8,0 0 39 0.001073028 1836 A W 38481800 + 8 <- (8,1) 38479752 8,1 0 40 0.001088886 1836 Q W 38481800 + 8 [blktrace_study] 8,1 0 41 0.001110949 1836 M W 38481800 + 8 [blktrace_study]
并非每次运行产生的结果的状态都相同,有时候第六列会出现UT的状态。上述出现各个状态意义见blktrace解释文档
总结 第六列的状态总是A Q G P I和A Q M连续出现
代码测试三:fopen-fgets-fclose
#include<string.h> #include<stdlib.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> void main(void) { FILE *p; long int i=0; char temp[100]; pid_t my_pid; my_pid=getpid(); printf("%d\n",my_pid); p=fopen("./b12.txt","r"); if(p==NULL)printf("open error\n"); while(fgets(temp,50,p)!=NULL)i++; fclose(p); printf("i=%ld\n",i); }
blktrace追踪不到该进程号的动作,我猜测可能是数据都被缓存到页缓存中,该读取操作没有经过blk层。故blktrace没有追踪到信息。虚拟机下,为什么该文件第一次读取也追踪不到呢?vboxsf 挂载目录以及普通目录都测试了,都不行。测试要打开的文件如果放在share文件下,则测出来的东西不能被完整追踪。
在远程连接机房机器,发现fgets在文件第一个读取,可以追踪到进程号,但是文件第二次读取就因为缓存而不能被追踪了。若要连续测,可以用清空缓存的指令。具体如下:
代码测试四:fopen-fread-fclose
#include<stdio.h> #include<string.h> #include<stdlib.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> void main(void) { FILE *p; long int i=0; char temp[10001]; pid_t my_pid; my_pid=getpid(); printf("%d\n",my_pid); p=fopen("/home/MSR-Cambridge1/proj_3.csv","r"); if(p==NULL)printf("open error\n"); while(fread(temp,200,1,p)!=0)i++; fclose(p); printf("i=%ld\n",i); }
但第一次用fread读一个文件时,通过追踪进程号能追踪到具体行为。但第二读入时,由于已经缓存,追踪不到期行为了。这时同样可以通过上述清空缓存的指令然后在进行追踪。
若使用如下代码:控制fread次数
#include<stdio.h> #include<string.h> #include<stdlib.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> void main(void) { FILE *p; long int i=0; char temp[10001]; pid_t my_pid; my_pid=getpid(); printf("%d\n",my_pid); p=fopen("/home/tss/mds_0.csv","r"); if(p==NULL)printf("open error\n"); for(i=0;i<1;i++) { if(fread(temp,3,1,p)==0)printf("read error!!!!!!~\n"); } fclose(p); printf("i=%ld\n",i); }
运行:blktrace -d /dev/sda -w 5 -o - |blkparse -i - -o f1.out
fread一次,结果如下,
8,0 0 1 0.000000000 4221 A R 1263616 + 32 <- (8,1) 1261568 8,0 0 2 0.000020754 4221 Q R 1263616 + 32 [blktrace_study] 8,0 0 0 0.000085177 0 m N cfq4221 alloced 8,0 0 3 0.000114337 4221 G R 1263616 + 32 [blktrace_study] 8,0 0 4 0.000146615 4221 P N [blktrace_study] 8,0 0 5 0.000189020 4221 I R 1263616 + 32 [blktrace_study] 8,0 0 0 0.000207932 0 m N cfq4221 insert_request 8,0 0 0 0.000222672 0 m N cfq4221 add_to_rr 8,0 0 6 0.000268987 4221 U N [blktrace_study] 1 8,0 0 0 0.000297752 0 m N cfq workload slice:25 8,0 0 0 0.000313880 0 m N cfq4221 set_active wl_prio:0 wl_type:2 8,0 0 0 0.000335347 0 m N cfq4221 fifo=(null) 8,0 0 0 0.000342345 0 m N cfq4221 dispatch_insert 8,0 0 0 0.000360147 0 m N cfq4221 dispatched a request 8,0 0 0 0.000375082 0 m N cfq4221 activate rq, drv=1 8,0 0 7 0.000387099 4221 D R 1263616 + 32 [blktrace_study] 8,0 0 8 0.016424743 0 C R 1263616 + 32 [0] 8,0 0 0 0.016496421 0 m N cfq4221 complete rqnoidle 0 8,0 0 0 0.016516844 0 m N cfq4221 set_slice=25 8,0 0 0 0.016555619 0 m N cfq4221 arm_idle: 2 8,0 0 0 0.016560233 0 m N cfq schedule dispatch 8,0 0 0 0.017566520 0 m N cfq4221 slice expired t=0 8,0 0 0 0.017593159 0 m N cfq4221 sl_used=4 sect=32 8,0 0 0 0.017609437 0 m N cfq4221 del_from_rr 8,0 0 0 0.017628153 0 m N cfq4221 put_queue CPU0 (8,0): Reads Queued: 1, 16KiB Writes Queued: 0, 0KiB Read Dispatches: 1, 16KiB Write Dispatches: 0, 0KiB Reads Requeued: 0 Writes Requeued: 0 Reads Completed: 1, 16KiB Writes Completed: 0, 0KiB Read Merges: 0, 0KiB Write Merges: 0, 0KiB Read depth: 1 Write depth: 0 IO unplugs: 1 Timer unplugs: 0 Throughput (R/W): 941KiB/s / 0KiB/s Events (8,0): 25 entries Skips: 3 forward (13 - 34.2%)
该结果是通过awk指令提取对应进程号的结果:
8,0 0 1 0.000000000 4221 A R 1263616 + 32 <- (8,1) 1261568 8,0 0 2 0.000020754 4221 Q R 1263616 + 32 [blktrace_study] 8,0 0 3 0.000114337 4221 G R 1263616 + 32 [blktrace_study] 8,0 0 4 0.000146615 4221 P N [blktrace_study] 8,0 0 5 0.000189020 4221 I R 1263616 + 32 [blktrace_study] 8,0 0 6 0.000268987 4221 U N [blktrace_study] 1 8,0 0 7 0.000387099 4221 D R 1263616 + 32 [blktrace_study]
fread 100次
结果如下
8,0 0 1 0.000000000 0 C R 12599296 + 232 [0] 8,0 0 0 0.000080788 0 m N cfq4116 complete rqnoidle 0 8,0 0 0 0.000100493 0 m N cfq4116 set_slice=25 8,0 0 0 0.000196915 0 m N cfq4116 arm_idle: 2 8,0 0 0 0.000200954 0 m N cfq schedule dispatch 8,0 0 0 0.005548133 0 m N cfq idle timer fired 8,0 0 0 0.005593817 0 m N cfq4116 slice expired t=0 8,0 0 0 0.005632097 0 m N cfq4116 sl_used=2 sect=232 8,0 0 0 0.005647556 0 m N cfq4116 del_from_rr 8,0 0 2 1.399179683 4119 A R 307504 + 16 <- (8,1) 305456 8,0 0 3 1.399198908 4119 Q R 307504 + 16 [bash] 8,0 0 0 1.399966510 0 m N cfq4119 alloced 8,0 0 4 1.408676911 4119 G R 307504 + 16 [bash] 8,0 0 5 1.408712979 4119 P N [bash] 8,0 0 6 1.408739502 4119 I R 307504 + 16 [bash] 8,0 0 0 1.408760426 0 m N cfq4119 insert_request 8,0 0 0 1.408771422 0 m N cfq4119 add_to_rr 8,0 0 7 1.410325332 4119 U N [bash] 1 8,0 0 0 1.410377550 0 m N cfq workload slice:25 8,0 0 0 1.410394099 0 m N cfq4119 set_active wl_prio:0 wl_type:2 8,0 0 0 1.410433444 0 m N cfq4119 fifo=(null) 8,0 0 0 1.410441831 0 m N cfq4119 dispatch_insert 8,0 0 0 1.410463771 0 m N cfq4119 dispatched a request 8,0 0 0 1.410477101 0 m N cfq4119 activate rq, drv=1 8,0 0 8 1.410487481 4119 D R 307504 + 16 [bash] 8,0 0 9 1.410829203 0 C R 307504 + 16 [0] 8,0 0 0 1.410914084 0 m N cfq4119 complete rqnoidle 0 8,0 0 0 1.410931263 0 m N cfq4119 set_slice=25 8,0 0 0 1.410963566 0 m N cfq4119 arm_idle: 2 8,0 0 0 1.410966927 0 m N cfq schedule dispatch 8,0 0 10 1.411704077 4119 U N [bash] 0 8,0 0 11 1.413161782 4119 A R 1263616 + 32 <- (8,1) 1261568 8,0 0 12 1.413181863 4119 Q R 1263616 + 32 [bash] 8,0 0 13 1.413202265 4119 G R 1263616 + 32 [bash] 8,0 0 14 1.413229127 4119 P N [bash] 8,0 0 15 1.413251594 4119 I R 1263616 + 32 [bash] 8,0 0 0 1.413281692 0 m N cfq4119 insert_request 8,0 0 0 1.413359355 0 m N cfq4119 dispatch_insert 8,0 0 0 1.413371709 0 m N cfq4119 dispatched a request 8,0 0 0 1.413380803 0 m N cfq4119 activate rq, drv=1 8,0 0 16 1.413388377 4119 D R 1263616 + 32 [bash] 8,0 0 17 1.413506274 4119 U N [bash] 1 8,0 0 18 1.420035961 1350 A RA 13568 + 8 <- (8,1) 11520 8,0 0 19 1.420323513 1350 Q RA 13568 + 8 [gnome-terminal] 8,0 0 20 1.420344994 1350 G RA 13568 + 8 [gnome-terminal] 8,0 0 21 1.420425697 1350 P N [gnome-terminal] 8,0 0 22 1.420542117 1350 I R 13568 + 8 [gnome-terminal] 8,0 0 0 1.421350453 0 m N cfq1350 insert_request 8,0 0 0 1.421379421 0 m N cfq1350 add_to_rr 8,0 0 23 1.421619455 1350 A RA 13576 + 8 <- (8,1) 11528 8,0 0 24 1.421634171 1350 Q RA 13576 + 8 [gnome-terminal] 8,0 0 25 1.421661536 1350 M RA 13576 + 8 [gnome-terminal] 8,0 0 26 1.421747597 1350 A RA 13584 + 8 <- (8,1) 11536 8,0 0 27 1.421760984 1350 Q RA 13584 + 8 [gnome-terminal] 8,0 0 28 1.421781155 1350 M RA 13584 + 8 [gnome-terminal] 8,0 0 29 1.421808638 1350 A RA 13600 + 8 <- (8,1) 11552 8,0 0 30 1.421821646 1350 Q RA 13600 + 8 [gnome-terminal] 8,0 0 31 1.421837664 1350 G RA 13600 + 8 [gnome-terminal] 8,0 0 32 1.421865782 1350 I R 13600 + 8 [gnome-terminal] 8,0 0 0 1.421874636 0 m N cfq1350 insert_request 8,0 0 33 1.422077496 1350 A RA 13608 + 8 <- (8,1) 11560 8,0 0 34 1.422091273 1350 Q RA 13608 + 8 [gnome-terminal] 8,0 0 35 1.422111692 1350 M RA 13608 + 8 [gnome-terminal] 8,0 0 36 1.422142664 1350 A RA 13616 + 8 <- (8,1) 11568 8,0 0 37 1.422158426 1350 Q RA 13616 + 8 [gnome-terminal] 8,0 0 38 1.422177727 1350 M RA 13616 + 8 [gnome-terminal] 8,0 0 39 1.422197863 1350 A RA 13624 + 8 <- (8,1) 11576 8,0 0 40 1.422210689 1350 Q RA 13624 + 8 [gnome-terminal] 8,0 0 41 1.422229704 1350 M RA 13624 + 8 [gnome-terminal] 8,0 0 42 1.422255652 1350 A RA 13632 + 8 <- (8,1) 11584 8,0 0 43 1.422268546 1350 Q RA 13632 + 8 [gnome-terminal] 8,0 0 44 1.422287413 1350 M RA 13632 + 8 [gnome-terminal] 8,0 0 45 1.422306922 1350 A RA 13640 + 8 <- (8,1) 11592 8,0 0 46 1.422319724 1350 Q RA 13640 + 8 [gnome-terminal] 8,0 0 47 1.422338516 1350 M RA 13640 + 8 [gnome-terminal] 8,0 0 48 1.422357987 1350 A RA 13648 + 8 <- (8,1) 11600 8,0 0 49 1.422370726 1350 Q RA 13648 + 8 [gnome-terminal] 8,0 0 50 1.422389501 1350 M RA 13648 + 8 [gnome-terminal] 8,0 0 51 1.422408756 1350 A RA 13656 + 8 <- (8,1) 11608 8,0 0 52 1.422421515 1350 Q RA 13656 + 8 [gnome-terminal] 8,0 0 53 1.422440185 1350 M RA 13656 + 8 [gnome-terminal] 8,0 0 54 1.422459457 1350 A RA 13664 + 8 <- (8,1) 11616 8,0 0 55 1.422472193 1350 Q RA 13664 + 8 [gnome-terminal] 8,0 0 56 1.422490894 1350 M RA 13664 + 8 [gnome-terminal] 8,0 0 57 1.422515835 1350 A RA 13672 + 8 <- (8,1) 11624 8,0 0 58 1.422528784 1350 Q RA 13672 + 8 [gnome-terminal] 8,0 0 59 1.422550977 1350 M RA 13672 + 8 [gnome-terminal] 8,0 0 60 1.422571429 1350 A RA 13680 + 8 <- (8,1) 11632 8,0 0 61 1.422584411 1350 Q RA 13680 + 8 [gnome-terminal] 8,0 0 62 1.422603417 1350 M RA 13680 + 8 [gnome-terminal] 8,0 0 63 1.422622952 1350 A RA 13688 + 8 <- (8,1) 11640 8,0 0 64 1.422635694 1350 Q RA 13688 + 8 [gnome-terminal] 8,0 0 65 1.422654506 1350 M RA 13688 + 8 [gnome-terminal] 8,0 0 66 1.422676080 1350 A RA 13696 + 8 <- (8,1) 11648 8,0 0 67 1.422688848 1350 Q RA 13696 + 8 [gnome-terminal] 8,0 0 68 1.422708456 1350 M RA 13696 + 8 [gnome-terminal] 8,0 0 69 1.422727818 1350 A RA 13704 + 8 <- (8,1) 11656 8,0 0 70 1.422740490 1350 Q RA 13704 + 8 [gnome-terminal] 8,0 0 71 1.422759254 1350 M RA 13704 + 8 [gnome-terminal] 8,0 0 72 1.422778440 1350 A RA 13712 + 8 <- (8,1) 11664 8,0 0 73 1.422791095 1350 Q RA 13712 + 8 [gnome-terminal] 8,0 0 74 1.422809872 1350 M RA 13712 + 8 [gnome-terminal] 8,0 0 75 1.422829128 1350 A RA 13720 + 8 <- (8,1) 11672 8,0 0 76 1.422841788 1350 Q RA 13720 + 8 [gnome-terminal] 8,0 0 77 1.422860413 1350 M RA 13720 + 8 [gnome-terminal] 8,0 0 78 1.422879468 1350 A RA 13728 + 8 <- (8,1) 11680 8,0 0 79 1.422892199 1350 Q RA 13728 + 8 [gnome-terminal] 8,0 0 80 1.422910745 1350 M RA 13728 + 8 [gnome-terminal] 8,0 0 81 1.422929808 1350 A RA 13736 + 8 <- (8,1) 11688 8,0 0 82 1.422942567 1350 Q RA 13736 + 8 [gnome-terminal] 8,0 0 83 1.422961234 1350 M RA 13736 + 8 [gnome-terminal] 8,0 0 84 1.422985336 1350 A RA 13744 + 8 <- (8,1) 11696 8,0 0 85 1.422998205 1350 Q RA 13744 + 8 [gnome-terminal] 8,0 0 86 1.423018148 1350 M RA 13744 + 8 [gnome-terminal] 8,0 0 87 1.423044172 1350 A RA 13752 + 8 <- (8,1) 11704 8,0 0 88 1.423057073 1350 Q RA 13752 + 8 [gnome-terminal] 8,0 0 89 1.423076927 1350 M RA 13752 + 8 [gnome-terminal] 8,0 0 90 1.423096785 1350 A RA 13760 + 8 <- (8,1) 11712 8,0 0 91 1.423109484 1350 Q RA 13760 + 8 [gnome-terminal] 8,0 0 92 1.423128913 1350 M RA 13760 + 8 [gnome-terminal] 8,0 0 93 1.423147883 1350 A RA 13768 + 8 <- (8,1) 11720 8,0 0 94 1.423160585 1350 Q RA 13768 + 8 [gnome-terminal] 8,0 0 95 1.423179319 1350 M RA 13768 + 8 [gnome-terminal] 8,0 0 96 1.423198482 1350 A RA 13776 + 8 <- (8,1) 11728 8,0 0 97 1.423211229 1350 Q RA 13776 + 8 [gnome-terminal] 8,0 0 98 1.423230118 1350 M RA 13776 + 8 [gnome-terminal] 8,0 0 99 1.423249232 1350 A RA 13784 + 8 <- (8,1) 11736 8,0 0 100 1.423261939 1350 Q RA 13784 + 8 [gnome-terminal] 8,0 0 101 1.423280628 1350 M RA 13784 + 8 [gnome-terminal] 8,0 0 102 1.423299667 1350 A RA 13792 + 8 <- (8,1) 11744 8,0 0 103 1.423312284 1350 Q RA 13792 + 8 [gnome-terminal] 8,0 0 104 1.423330994 1350 M RA 13792 + 8 [gnome-terminal] 8,0 0 105 1.423350077 1350 A RA 13800 + 8 <- (8,1) 11752 8,0 0 106 1.423362694 1350 Q RA 13800 + 8 [gnome-terminal] 8,0 0 107 1.423381362 1350 M RA 13800 + 8 [gnome-terminal] 8,0 0 108 1.423400472 1350 A RA 13808 + 8 <- (8,1) 11760 8,0 0 109 1.423413152 1350 Q RA 13808 + 8 [gnome-terminal] 8,0 0 110 1.423431834 1350 M RA 13808 + 8 [gnome-terminal] 8,0 0 111 1.423450921 1350 A RA 13816 + 8 <- (8,1) 11768 8,0 0 112 1.423463543 1350 Q RA 13816 + 8 [gnome-terminal] 8,0 0 113 1.423482341 1350 M RA 13816 + 8 [gnome-terminal] 8,0 0 114 1.423503786 1350 A RA 13824 + 8 <- (8,1) 11776 8,0 0 115 1.423516508 1350 Q RA 13824 + 8 [gnome-terminal] 8,0 0 116 1.423542196 1350 M RA 13824 + 8 [gnome-terminal] 8,0 0 117 1.423560151 1350 A RM 13592 + 8 <- (8,1) 11544 8,0 0 118 1.423572675 1350 Q RM 13592 + 8 [gnome-terminal] 8,0 0 119 1.423669945 1350 F RM 13592 + 8 [gnome-terminal] 8,0 0 120 1.424572730 1350 UT N [gnome-terminal] 2 8,0 0 121 1.424757657 15 U N [kblockd/0] 2 8,0 0 122 1.424838086 1350 U N [gnome-terminal] 2 8,0 0 123 1.428494564 0 C R 1263616 + 32 [0] 8,0 0 0 1.428556235 0 m N cfq4119 complete rqnoidle 0 8,0 0 0 1.428597684 0 m N cfq4119 arm_idle: 2 8,0 0 0 1.428601502 0 m N cfq schedule dispatch 8,0 0 124 1.428951567 4119 A R 1263648 + 64 <- (8,1) 1261600 8,0 0 125 1.428969566 4119 Q R 1263648 + 64 [bash] 8,0 0 126 1.428988556 4119 G R 1263648 + 64 [bash] 8,0 0 127 1.429016657 4119 I R 1263648 + 64 [bash] 8,0 0 0 1.429046337 0 m N cfq4119 insert_request 8,0 0 0 1.429124048 0 m N cfq4119 dispatch_insert 8,0 0 0 1.429137541 0 m N cfq4119 dispatched a request 8,0 0 0 1.429146878 0 m N cfq4119 activate rq, drv=1 8,0 0 128 1.429155488 4119 D R 1263648 + 64 [bash] 8,0 0 129 1.429279061 4119 U N [bash] 2 8,0 0 0 1.430245589 0 m N cfq4119 slice expired t=0 8,0 0 0 1.430262641 0 m N cfq4119 sl_used=5 sect=112 8,0 0 0 1.430274431 0 m N cfq4119 del_from_rr 8,0 0 0 1.430312217 0 m N cfq schedule dispatch 8,0 0 130 1.430486951 4119 C R 1263648 + 64 [0] 8,0 0 0 1.430562750 0 m N cfq4119 complete rqnoidle 0 8,0 0 0 1.430571515 0 m N cfq schedule dispatch 8,0 0 0 1.430609216 0 m N cfq4119 put_queue 8,0 0 0 1.431612851 0 m N cfq workload slice:25 8,0 0 0 1.431832032 0 m N cfq1350 set_active wl_prio:0 wl_type:1 8,0 0 0 1.431974691 0 m N cfq1350 fifo=(null) 8,0 0 0 1.432012970 0 m N cfq1350 dispatch_insert 8,0 0 0 1.432362997 0 m N cfq1350 dispatched a request 8,0 0 0 1.432467801 0 m N cfq1350 activate rq, drv=1 8,0 0 131 1.432672351 4119 D R 13568 + 264 [bash] 8,0 0 132 1.444778946 0 C R 13568 + 264 [0] 8,0 0 0 1.444965014 0 m N cfq1350 complete rqnoidle 0 8,0 0 0 1.445219771 0 m N cfq1350 set_slice=25 8,0 0 0 1.445614044 0 m N cfq1350 arm_idle: 2 8,0 0 0 1.445653448 0 m N cfq schedule dispatch 8,0 0 0 1.452219610 0 m N cfq idle timer fired 8,0 0 0 1.452385665 0 m N cfq1350 slice expired t=0 8,0 0 0 1.452542109 0 m N cfq1350 sl_used=2 sect=264 8,0 0 0 1.452742456 0 m N cfq1350 del_from_rr 8,0 0 133 4.745772960 183 A WS 30392184 + 8 <- (8,1) 30390136 8,0 0 134 4.745822847 183 Q WS 30392184 + 8 [jbd2/sda1-8] 8,0 0 135 4.745862553 183 G WS 30392184 + 8 [jbd2/sda1-8] 8,0 0 136 4.745937802 183 P N [jbd2/sda1-8] 8,0 0 137 4.746354256 183 I W 30392184 + 8 [jbd2/sda1-8] 8,0 0 0 4.746577350 0 m N cfq183 insert_request 8,0 0 0 4.746829542 0 m N cfq183 add_to_rr 8,0 0 138 4.747955163 183 A WS 30392480 + 8 <- (8,1) 30390432 8,0 0 139 4.747978967 183 Q WS 30392480 + 8 [jbd2/sda1-8] 8,0 0 140 4.748403746 183 UT N [jbd2/sda1-8] 1 8,0 0 141 4.748538781 15 U N [kblockd/0] 2 8,0 0 0 4.748593213 0 m N cfq workload slice:25 8,0 0 0 4.748616147 0 m N cfq183 set_active wl_prio:0 wl_type:1 8,0 0 0 4.748640846 0 m N cfq183 fifo=(null) 8,0 0 0 4.748651354 0 m N cfq183 dispatch_insert 8,0 0 0 4.748679099 0 m N cfq183 dispatched a request 8,0 0 0 4.748702151 0 m N cfq183 activate rq, drv=1 8,0 0 142 4.748721540 15 D W 30392184 + 8 [kblockd/0] 8,0 0 143 4.749117205 183 G WS 30392480 + 8 [jbd2/sda1-8] 8,0 0 144 4.749334183 183 C W 30392184 + 8 [0] 8,0 0 0 4.749409389 0 m N cfq183 complete rqnoidle 1 8,0 0 0 4.749426165 0 m N cfq183 set_slice=30 8,0 0 0 4.749479391 0 m N cfq183 arm_idle: 2 8,0 0 0 4.749485777 0 m N cfq schedule dispatch 8,0 0 145 4.749692276 183 P N [jbd2/sda1-8] 8,0 0 146 4.749760800 183 I W 30392480 + 8 [jbd2/sda1-8] 8,0 0 0 4.749791307 0 m N cfq183 insert_request 8,0 0 0 4.750073383 0 m N cfq183 dispatch_insert 8,0 0 0 4.750091780 0 m N cfq183 dispatched a request 8,0 0 0 4.750104771 0 m N cfq183 activate rq, drv=1 8,0 0 147 4.750119399 15 D W 30392480 + 8 [kblockd/0] 8,0 0 148 4.750439958 183 A W 21287128 + 8 <- (8,1) 21285080 8,0 0 149 4.750576831 183 C W 30392480 + 8 [0] 8,0 0 0 4.750632550 0 m N cfq183 complete rqnoidle 1 8,0 0 0 4.750661659 0 m N cfq183 arm_idle: 2 8,0 0 0 4.750667159 0 m N cfq schedule dispatch 8,0 0 150 4.750818979 183 Q W 21287128 + 8 [jbd2/sda1-8] 8,0 0 151 4.750928829 183 G W 21287128 + 8 [jbd2/sda1-8] 8,0 0 152 4.750975958 183 P N [jbd2/sda1-8] 8,0 0 153 4.751000982 183 I W 21287128 + 8 [jbd2/sda1-8] 8,0 0 0 4.751020970 0 m N cfq183 insert_request 8,0 0 0 4.751040951 0 m N cfq183 add_to_rr 8,0 0 154 4.751331421 183 A W 21287136 + 8 <- (8,1) 21285088 8,0 0 155 4.751358823 183 Q W 21287136 + 8 [jbd2/sda1-8] 8,0 0 156 4.751467460 183 M W 21287136 + 8 [jbd2/sda1-8] 8,0 0 157 4.751979593 183 A W 21287144 + 8 <- (8,1) 21285096 8,0 0 158 4.752106100 183 UT N [jbd2/sda1-8] 1 8,0 0 159 4.752153699 183 Q W 21287144 + 8 [jbd2/sda1-8] 8,0 0 160 4.752197521 183 M W 21287144 + 8 [jbd2/sda1-8] 8,0 0 161 4.752312439 15 U N [kblockd/0] 1 8,0 0 162 4.752381995 183 A W 21287152 + 8 <- (8,1) 21285104 8,0 0 163 4.752410334 183 Q W 21287152 + 8 [jbd2/sda1-8] 8,0 0 164 4.752451242 183 M W 21287152 + 8 [jbd2/sda1-8] 8,0 0 165 4.752494886 183 U N [jbd2/sda1-8] 1 8,0 0 0 4.756166935 0 m N cfq idle timer fired 8,0 0 0 4.756223161 0 m N cfq183 slice expired t=0 8,0 0 0 4.756252600 0 m N cfq183 sl_used=2 sect=16 8,0 0 0 4.756272093 0 m N cfq183 del_from_rr 8,0 0 0 4.756336335 0 m N cfq schedule dispatch 8,0 0 0 4.756542994 0 m N cfq workload slice:10 8,0 0 0 4.756563606 0 m N cfq183 set_active wl_prio:0 wl_type:0 8,0 0 0 4.756613860 0 m N cfq183 Not idling. st->count:1 8,0 0 0 4.756692331 0 m N cfq183 fifo=(null) 8,0 0 0 4.756702561 0 m N cfq183 dispatch_insert 8,0 0 0 4.756725801 0 m N cfq183 dispatched a request 8,0 0 0 4.756739472 0 m N cfq183 activate rq, drv=1 8,0 0 166 4.756760848 15 D W 21287128 + 32 [kblockd/0] 8,0 0 167 4.769208270 0 C W 21287128 + 32 [0] 8,0 0 0 4.769304311 0 m N cfq183 complete rqnoidle 0 8,0 0 0 4.769330283 0 m N cfq183 set_slice=12 8,0 0 0 4.769338587 0 m N cfq schedule dispatch 8,0 0 168 4.771920326 183 A WBS 21287160 + 8 <- (8,1) 21285112 8,0 0 169 4.771958167 183 Q WBS 21287160 + 8 [jbd2/sda1-8] 8,0 0 170 4.771985860 183 G WBS 21287160 + 8 [jbd2/sda1-8] 8,0 0 171 4.772110489 183 P N [jbd2/sda1-8] 8,0 0 172 4.772228759 183 I W 21287160 + 8 [jbd2/sda1-8] 8,0 0 0 4.772317473 0 m N cfq183 slice expired t=0 8,0 0 0 4.772340125 0 m N cfq183 sl_used=1 sect=32 8,0 0 0 4.772379350 0 m N cfq183 del_from_rr 8,0 0 0 4.772452351 0 m N cfq forced_dispatch=0 8,0 0 173 4.772791375 183 I N 0 (35 00 ..) [jbd2/sda1-8] 8,0 0 174 4.773219613 183 I W 21287160 + 8 [jbd2/sda1-8] 8,0 0 175 4.773259369 183 I N 0 (35 00 ..) [jbd2/sda1-8] 8,0 0 176 4.773389437 183 D N 0 (35 00 ..) [jbd2/sda1-8] 8,0 0 177 4.773577931 183 U N [jbd2/sda1-8] 1 8,0 0 178 4.791783162 0 D W 21287160 + 8 [swapper] 8,0 0 179 4.792126231 0 C W 21287160 + 8 [0] 8,0 0 180 4.792184251 0 D N 0 (35 00 ..) [swapper] 8,0 0 181 4.792899670 0 C W 21287160 + 8 [0] CPU0 (8,0): Reads Queued: 36, 188KiB Writes Queued: 7, 28KiB Read Dispatches: 4, 188KiB Write Dispatches: 4, 28KiB Reads Requeued: 0 Writes Requeued: 0 Reads Completed: 5, 304KiB Writes Completed: 5, 32KiB Read Merges: 31, 124KiB Write Merges: 3, 12KiB Read depth: 2 Write depth: 1 PC Reads Queued: 0, 0KiB PC Writes Queued: 0, 0KiB PC Read Disp.: 2, 0KiB PC Write Disp.: 0, 0KiB PC Reads Req.: 0 PC Writes Req.: 0 PC Reads Compl.: 0 PC Writes Compl.: 5 IO unplugs: 10 Timer unplugs: 3 Throughput (R/W): 63KiB/s / 6KiB/s Events (8,0): 277 entries Skips: 22 forward (2110 - 88.4%)
awk语句提取对应进程号:
8,0 0 2 1.399179683 4119 A R 307504 + 16 <- (8,1) 305456 8,0 0 3 1.399198908 4119 Q R 307504 + 16 [bash] 8,0 0 4 1.408676911 4119 G R 307504 + 16 [bash] 8,0 0 5 1.408712979 4119 P N [bash] 8,0 0 6 1.408739502 4119 I R 307504 + 16 [bash] 8,0 0 7 1.410325332 4119 U N [bash] 1 8,0 0 8 1.410487481 4119 D R 307504 + 16 [bash] 8,0 0 10 1.411704077 4119 U N [bash] 0 8,0 0 11 1.413161782 4119 A R 1263616 + 32 <- (8,1) 1261568 8,0 0 12 1.413181863 4119 Q R 1263616 + 32 [bash] 8,0 0 13 1.413202265 4119 G R 1263616 + 32 [bash] 8,0 0 14 1.413229127 4119 P N [bash] 8,0 0 15 1.413251594 4119 I R 1263616 + 32 [bash] 8,0 0 16 1.413388377 4119 D R 1263616 + 32 [bash] 8,0 0 17 1.413506274 4119 U N [bash] 1 8,0 0 124 1.428951567 4119 A R 1263648 + 64 <- (8,1) 1261600 8,0 0 125 1.428969566 4119 Q R 1263648 + 64 [bash] 8,0 0 126 1.428988556 4119 G R 1263648 + 64 [bash] 8,0 0 127 1.429016657 4119 I R 1263648 + 64 [bash] 8,0 0 128 1.429155488 4119 D R 1263648 + 64 [bash] 8,0 0 129 1.429279061 4119 U N [bash] 2 8,0 0 130 1.430486951 4119 C R 1263648 + 64 [0] 8,0 0 131 1.432672351 4119 D R 13568 + 264 [bash]
附录:
查看block size:
通过dumpe2fs指令,但由于其输出很多,故通过grep查找我们需要的
dump2fs /dev/sda1 | grep 'Block size'
查看sector大小:
fdisk
2022年9月11日 18:44
GSEB STD-2 Model Paper 2023 Pdf Download for Gujarat State Elementary Level Primary School 2nd Class Question Paper Pdf for Gujarati Medium, Hindi Medium, English Medium & Urdu Medium Students of Gandhinagar Board at Gujarat STD-2 Model Paper. Various institutional experts have designed and suggested the GSEB 2nd Class Model Paper 2023 with sample answers Set wide as SET-A, SET-B, SET-C and SET-D to practice with regular mock tests and revisions, which helps you to get better scores in all kinds of exams held in board or school level.