linux 命令使用11--lozone(文件)
1. IOzone简介
IOzone是一个开源文件系统基准工具,用来测试文件系统的读写性能,也可以进行测试磁盘读写性能。Iozone能够运行于许多平台。这份文档涵盖Iozone所执行的许多不同类型的操作和它的所有命令行参数。
2. 安装
ubuntu直接安装:
apt-get install iozone3
3. 性能测试点
IOzone 执行以下 13 种操作测试文件I/O性能:
Read——表示读取文件系统中已存在的文件的性能。
Write——表示将新文件写入文件系统的性能。当一个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。拜这些额外信息所赐,Write的性能通常会比Re-write的性能低。
Re-read——读取文件后,表示再次读取文件的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write的性能通常比Write的性能高。
Re-write——表示写入现有文件的性能。Re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据。这个缓存可以被用于读以提高性能。
Random Read——表示通过从文件中读取随机信息来读取文件的性能。即这不是顺序读取。
Random Write——指示在各种随机位置写入文件的性能。即这不是顺序写入。
Backward Read——测试使用倒序读一个文件的性能。这种读文件方法可能看起来很可笑,事实上,有些应用确实这么干。MSC Nastran是一个使用倒序读文件的应用程序的一个例子。它所读的文件都十分大(大小从G级别到T级别)。尽管许多操作系统使用一些特殊实现来优化顺序读文件的速度,很少有操作系统注意到并增强倒序读文件的性能。
Record Re-Write——测试写与覆盖写一个文件中的特定块的性能。这个块可能会发生一些很有趣的事。如果这个块足够小(比CPU数据缓存小),测出来的性能将会非常高。如果比CPU数据缓存大而比TLB小,测出来的是另一个阶段的性能。如果比此二者都大,但比操作系统缓存小,得到的性能又是一个阶段。若大到超过操作系统缓存,又是另一番结果。
Stride Read——测试跳跃读一个文件的性能。举例如下:在0偏移量处读4Kbytes,然后间隔200Kbytes,读4Kbytes,再间隔200Kbytes,如此反复。此时的模式是读4Kbytes,间隔200Kbytes并重复这个模式。这又是一个典型的应用行为,文件中使用了数据结构并且访问这个数据结构的特定区域的应用程序常常这样做。
Fread——测试调用库函数fread()来读文件的性能。这是一个执行缓存与阻塞读操作的库例程。缓存在用户空间之内。如果一个应用程序想要读很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。
Fwrite——测试调用库函数fwrite()来写文件的性能。这是一个执行缓存与阻塞写操作的库例程。缓存在用户空间之内。如果一个应用程序想要写很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。
Freread——这个测试与上面的fread 类似,除了在这个测试中被读文件是最近才刚被读过。这将导致更高的性能,因为操作系统缓存了文件数据。
Frewrite——测试调用库函数fwrite()来写文件的性能。这是一个执行缓存与阻塞写操作的库例程。缓存在用户空间之内。如果一个应用程序想要写很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。
4. 参数用法
iozone -h
Usage: iozone [-s filesize_kB] [-r record_size_kB] [-f [path]filename] [-h]
[-i test] [-E] [-p] [-a] [-A] [-z] [-Z] [-m] [-M] [-t children]
[-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x] [-o]
[-d microseconds] [-F path1 path2...] [-V pattern] [-j stride]
[-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U mount_point]
[-S cache_size] [-O] [-L cacheline_size] [-K] [-g maxfilesize_kB]
[-n minfilesize_kB] [-N] [-Q] [-P start_cpu] [-e] [-c] [-b Excel.xls]
[-J milliseconds] [-X write_telemetry_filename] [-w] [-W]
[-Y read_telemetry_filename] [-y minrecsize_kB] [-q maxrecsize_kB]
[-+u] [-+m cluster_filename] [-+d] [-+x multiplier] [-+p # ]
[-+r] [-+t] [-+X] [-+Z] [-+w percent dedupable] [-+y percent_interior_dedup]
[-+C percent_dedup_within] [-+a zero_pct] [-+Q dedup granule size]
[-+M dedup+compress flag ]
5. 示例
5.1. 使用默认值运行所有 IOZone 测试
-a 选项代表自动模式。这会创建大小从 64k 到 512MB 的临时测试文件,用于性能测试。此模式还使用 4k 到 16M 的记录大小进行读写(稍后会详细介绍)测试。
-a 选项还将执行所有 13 种类型的测试。
$ iozone -a
1
iozone 输出的第一组包含标题信息,其中显示有关 iozone 实用程序的信息,以及用于生成此报告的所有 iozone 选项,如下所示。
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 07:50:52 2023
Auto Mode
Command line used: iozone -a
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
输出的第二部分包含各种测试的输出值(以每秒为单位)。
第 1 列 KB:表示用于测试的文件大小。
第 2 列 reclen:表示用于测试的记录长度。
直到最后一列的第 3 列:表示执行的各种测试及其每秒输出值。
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 409946 180788 1232453 3057153 2006158 1017549 1780008 1279447 1163036 987600 1017549 1518251 3588436
64 8 476959 645579 5389653 3738358 4207076 1460430 673098 1255511 2772930 1421755 1679761 1638743 821391
64 16 576282 1599680 4274062 4988978 3363612 2298136 1947927 2467108 2203800 1124074 1562436 3738358 5389653
64 32 496362 2467108 7100397 5860307^C
5.2. 使用 iozone -b 将输出保存到电子表格
要将 iozone 输出保存到电子表格,请使用 -b 选项,如下所示。-b 代表二进制,它指示 iozone 以二进制格式将测试输出写入电子表格。
$ ./iozone -a -b output.xls
1
注意:-b 选项可以与下面提到的任何示例一起使用。
从电子表格中保存的数据中,可以使用电子表格工具的图形功能创建一些漂亮的图形。以下是从 iozone 输出创建的示例图。
5.3. 使用 iozone -i 仅运行特定类型的测试
iozone -a -i 0 qiteck@server:~/program/iozone3_494$ iozone -a -i 0
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 07:57:01 2023
Auto Mode
Command line used: iozone -a -i 0
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 378715 254006
64 8 610350 1879725
64 16 592827 2203800
64 32 688639 2067979
64 64 470274 1638743
128 4 404939 627328
128 8 486822 262296
128 16 715059 3124872
128 32 662962 2453642
128 64 418513 2608629
128 128 428193 272411
256 4 402481 1332507
256 8 711178 688381
256 16 668246 2911402
结合多种 iozone 测试类型
还可以通过在命令行中指定多个 -i 来组合多种测试类型。
例如,以下示例将测试读取和写入测试类型。
iozone -a -i 0 -i 1 qiteck@server:~/program/iozone3_494$ iozone -a -i 0 -i 1
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 07:57:35 2023
Auto Mode
Command line used: iozone -a -i 0 -i 1
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 195680 385790 1392258 2133730
64 8 492717 1828508 2006158 3958892
64 16 392561 2561267 3791156 4564786
64 32 413101 2133730 2892445 5860307
64 64 252810 2662899 4897948 10821524
128 4 317711 1526043 2367096 2336194
128 8 410199 309113 4557257 2727923
128 16 492178 1543594 4759253 5122535
128 32 684954 3445772 6114306 5379161
128 64 744820 2066432 6114306 7176872
128 128 566435 770474 6727225 12842051
256 4 445942 1752173 2170027 2305128
256 8 739590 870974 4009406 4496299
5.4. 使用 iozone -s 指定文件大小
默认情况下,iozone 会自动创建大小从 64k 到 512M 的临时文件,以执行各种测试。
iozone 输出中的第一列(带有列标题 KB)表示文件大小。正如从之前的输出中看到的,它从 64KB 文件开始,并且会不断增加直到 512M(每次文件大小都翻倍)。
可以使用选项 -s 指定文件大小,而不是对所有文件大小运行测试。
以下示例将只对文件大小为 1MB(即 1024KB)的文件执行写入测试。
iozone -a -i 0 -s 1024 qiteck@server:~/program/iozone3_494$ iozone -a -i 0 -s 1024
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 07:58:29 2023
Auto Mode
File size set to 1024 kB
Command line used: iozone -a -i 0 -s 1024
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024 4 480109 1852232
1024 8 659768 2008114
1024 16 919928 2255990
1024 32 868581 2528227
1024 64 330310 1875690
1024 128 737738 2516377
1024 256 802526 973296
1024 512 859714 2516377
1024 1024 880331 2004366
iozone test complete.
5.5. 使用 iozone -r 指定测试的记录大小
当运行测试时,对于特定的文件大小,它会使用从 4k 到 16M 的不同记录大小进行测试。
如果您喜欢对托管 oracle 数据库的 I/O 子系统进行 I/O 性能测试,您可能希望将 iozone 中的记录大小设置为与 DB 块大小相同的值。数据库根据 DB 块大小进行读写。
reclen 代表记录长度。在前面的示例中,第 2 列(列标题为“reclen”)表示应该用于测试 IOzone 的记录长度。在前面的示例输出中,对于 1024KB 的文件大小,iozone 测试使用从 4k 到 16M 的各种记录大小来执行写入测试。
除了使用所有这些默认记录长度大小外,您还可以指定要测试的记录大小。
下面的示例将仅对 32k 的记录长度运行写入测试。在输出中,第二列现在将只显示 32。
iozone -a -i 0 -r 32 qiteck@server:~/program/iozone3_494$ iozone -a -i 0 -r 32
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 07:59:20 2023
Auto Mode
Record Size 32 kB
Command line used: iozone -a -i 0 -r 32
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 32 481234 324665
128 32 681476 1294270
256 32 587127 1924938
512 32 596721 2391924
1024 32 644038 2133821
2048 32 679271 1961707
4096 32 577866 1864376
8192 32 507246 2215212
16384 32 317125 2390757
32768 32 585919 908232
65536 32 524200 2139880
131072 32 391237 1491709
5.6. 使用 iozone -t 进行吞吐量测试
要在吞吐量模式下执行 iozone,请使用 -t 选项。您还应该指定在此测试期间需要处于活动状态的线程数。
以下示例将使用 2 个线程对写入执行 iozone 吞吐量测试。请注意,您不能将 -a 选项与 -t 选项结合使用。
iozone -i 0 -t 2 qiteck@server:~/program/iozone3_494$ iozone -i 0 -t 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 08:01:23 2023
Command line used: iozone -i 0 -t 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
Throughput test with 2 processes
Each process writes a 512 kByte file in 4 kByte records
Children see throughput for 2 initial writers = 432106.16 kB/sec
Parent sees throughput for 2 initial writers = 9587.46 kB/sec
Min throughput per process = 0.00 kB/sec
Max throughput per process = 432106.16 kB/sec
Avg throughput per process = 216053.08 kB/sec
Min xfer = 0.00 kB
Children see throughput for 2 rewriters = 2459865.00 kB/sec
Parent sees throughput for 2 rewriters = 23463.23 kB/sec
Min throughput per process = 1195751.25 kB/sec
Max throughput per process = 1264113.75 kB/sec
Avg throughput per process = 1229932.50 kB/sec
Min xfer = 496.00 kB
iozone test complete.
要为所有测试类型执行吞吐量,请从上面的示例中删除“-i 0”,如下所示。
$ ./iozone -t 2
5.7. 使用 iozone -+u 包含 CPU 使用率
在执行 iozone 测试时,您还可以使用 -+u 选项指示 iozone 收集 CPU 利用率。
选项前面的 -+ 可能看起来有点奇怪。但是,您必须给出整个 -+u(不仅仅是 -u 或 +u)才能使其正常工作。
以下示例将执行所有测试,并将 CPU 利用率报告作为它生成的 Excel 电子表格输出的一部分。
iozone -a -+u qiteck@server:~/program/iozone3_494$ iozone -a -+u
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 08:02:44 2023
Auto Mode
CPU utilization Resolution = 0.000 seconds.
CPU utilization Excel chart enabled
Command line used: iozone -a -+u
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 438043 192315 1336792 2801873 2772930 1232453 1452528 1562436 752329 1101022 877797 1492919 3363612
64 8 537079 1526887 4274062 3738358 4564786 1336792 1879725 2052169 1780008 1638743 1255511 2662899 4018152
64 16 350069 1279447 939223 4897948 2561267 1330167 1460430 2444640 1183548 1492919 1083249 1879725 4207076
64 32 537079 1484662 6421025 2801873 6421025 145745 2067979 2358717 1734015 1143223 1892980 2133730 3057153
64 64 610350 1648808 2561267 10821524 3791156 1638743 2561267 2133730 3057153 1336792 1363961 2892445 4564786
128 4 427851 1561553 3106789 1997245 2920861 1487977 1939522 1705404 1663139 217638 1220700 2166499 2905056
128 8 455822 1406136 2843510 4267461 4135958 1705404 2238774 2248149 881842 1727352 1827299 1684006 5122535
128 16 707520 452366 1561553 5122535 2969325 1266785 1833539 3106789 2843510 1827299 2166499 2843510 4267461
128 32 637004 1162547 5847904 5545860 6727225 2336194 3199360 2608629 4267461 2420455 895074 3560017 3560017
128 64 794416 631014 5122535 3560017 7582312 2326073 2621367 1939522 2409592 1196221 3657016 2905056 5122535
128 128 296973 702889 4889281 12842051 6114306 2511022 2558895 1319723 2453642 1997245 1939522 2336194 3106789
256 4 467086 669913 3326279 2557711 3009318 1382252 933846 1814348 2557711 1455317 1208072 2413957 3605511
256 8 222223 1839210 2305128 2539563 4819184 1718521 2699161 2692393 3421677 1514860 701422 3009318 5347168
256 16 729045 1938842 6073004 3421677^C
iozone: interrupted
exiting iozone
注意:这将为它执行的每个测试显示单独的 CPU 利用率。
5.8. 使用 iozone -g 增加文件大小
这个很重要。如果您的系统有超过 512MB 的 RAM,您应该增加 iozone 用于测试的临时文件大小。如果不这样做,您可能无法获得准确的结果,因为系统缓冲区缓存将在其中发挥作用。
为了获得准确的磁盘性能,建议将临时文件大小设置为系统缓冲区缓存大小的 3 倍。
以下示例将通过将最大文件大小增加到 2GB 来运行 iozone,并为写入测试运行自动 iozone 测试。
iozone -a -g 2G -i 0 qiteck@server:~/program/iozone3_494$ iozone -a -g 2G -i 0
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux-AMD64
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov, Sudhir Kumar.
Run began: Fri Apr 21 08:04:07 2023
Auto Mode
Using maximum file size of 2097152 kilobytes.
Command line used: iozone -a -g 2G -i 0
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 268756 166646
64 8 178741 1679761
64 16 249985 1492919
64 32 492717 1991276
64 64 250919 1638743
128 4 294207 1598754
128 8 542400 421139
128 16 528517 1802755
128 32 637004 2985839
128 64 901083 1487977
128 128 809997 416888
256 4 572721 1543163
256 8 519266 815414
256 16 680528 1868008
256 32 910872 962301
256 64 930608 2872459
256 128 707430 1286217
256 256 794889 2613746
512 4 462440 1734911
512 8 387017 2097550
512 16 593259 3325278
512 32 691887 2535981
512 64 694797 2845081
512 128 628322 2416145
512 256 750656 2572435
512 512 625941 3012719
1024 4 474749 1326505