1

在对启用了交换的 android 设备的性能进行基准测试时,我需要考虑哪些因素?如果有的话,推荐使用哪些应用程序?

启用交换需要手机被植根并且它的内核支持交换。“a-swapper”是我用来启用交换的应用程序之一,基本上它启动命令来启用交换。交换文件或交换分区位于外部 SD 卡上。

链接到谷歌代码中的“a-swapper”:

http://code.google.com/p/a-swapper/

4

1 回答 1

1

以下是我在 Raspberry Pi(ARM CPU、512 MB RAM、SD 驱动器)上进行的分页测试的报告。测试程序写入和读取越来越多的数据,检查结果是否正确并以 MB/秒为单位测量速度。报告的数据大小为 350、400、420 ​​和 600 MB。速度在 420 MB 时最高约为十分之一,在 600 MB 时则慢三倍。包含用于获取基准和 C 源代码的链接(任何人都可以免费玩,并且任何页面上都没有广告)。与我的其他基准测试一样,这可以转换为 Android。

http://www.roylongbottom.org.uk/Raspberry%20Pi%20Stress%20Tests.htm#anchor18

该报告还提供对内存使用、交换、缓存大小、驱动器 I/O 和 CPU 利用率的 vmstat 监控。至少在我的 Android 平板电脑上,我可以在执行基准测试的同时通过终端模拟器运行 vmstat。

对于 Windows 和 Linux,我有一个图像处理基准,它会越来越大地放大图像,包括写入和读取驱动器、旋转和滚动(您可以通过谷歌搜索 bmpspeed results.htm 和 Linux SDL 图像处理基准的详细信息)。如果有适合 Android 的照片编辑器,您可以使用手动计时进行相同的操作,并可能使用 vmstat 进行监控。

分页测试结果

StressInt 使用正常的内存写入和读取功能。第 1 部分使用不同的数据模式使用六遍写入然后读取指定空间。使用 AND 和 OR 进行高速读取以生成 sumcheck。第 2 部分写入模式(未计时)并读取它们至少最短时间,在这种情况下,每个模式只有一次读取。四个分页测试在具有 512 MB RAM 的 Raspberry Pi 上指定了 350、400、420 ​​和 600 MB,主驱动器是 SD 卡。Vmstat 同时运行。

在 350 MB 时,没有交换,但缓存和缓冲区大小减小,从而减慢了第一次写入。在 400 KB 时,在开始时换入和换出,然后在排序时全速。在 420 MB 时,混乱,与驱动器之间的连续数据传输,CPU 等待 I/O。

1. Commands Example

 lxterminal -e ./stressInt KB 600000
 vmstat 10 > vmburn4.txt


 2. Results  
            MBytes Per Second At MB Data Size 

         MB        350    400    420    600    
 Write/Read No.
             1     139     24     15     14
             2     209    181     16      8 
             3     206    203     24      8
             4     206    204     26      8
             5     202    205     18      8
             6     206    205     20      8 

 Write/Rd secs    19.6   48.4  204.9  460.7

 Read       No.
             1     158    159     20      9
             2     158    159     14      9
             3     159    159     39      8
             4     160    155      9      9
             5     159    160     25      9
             6     160    159     10      9

 Total secs         85    125   1082   3085 

vmstat si so KB swaps in and out, bi bo KB I/O in and out, wa = waiting for I/O

350 MB vmstat 10 second samples

                 KBytes               KB       KB/sec    Per sec       %
procs  ----------memory---------- ---swap-- -----io---- -system-- ----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs  us sy id wa
 0  0      0 314260  12340  56724    0    0    70     3 1123  232  19  5 76  0
 1  1      4   8920     48  21844    0    0    37    10 1141  298  42 16 42  0
 1  0      8  12392     64  18404    0    0     2     9 1161   89  99  1  0  0
 1  0      8  12144     80  18704    0    0    30     6 1167   82  99  1  0  0
 1  0      8  11896     88  18868    0    0    16     2 1157   71  99  1  0  0
 1  0      8  11764     96  18972    0    0    10     7 1163   71  99  1  0  0
 1  0      8  11772    104  18972    0    0     0     3 1152   61 100  0  0  0
 1  0      8  11772    112  18972    0    0     0     3 1153   65 100  0  0  0
 1  0      8  11772    120  18972    0    0     0     4 1154   68 100  0  0  0
 1  0      8  11772    128  18972    0    0     0     3 1153   64 100  0  0  0
 0  0      8 362344    136  21384    0    0   239     5 1194  294  22  4 73  1

400 MB 

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs  us sy id wa
 0  0      8 355220    924  26480    0    0    63     3 1125  236  24  4 72  0
 1  5  92368   8968     60   5464   10 9236   338  9245 1739  587  31 20 28 21
 0  2  52492   9108     44   5092 4775 3802  6938  3807 3429 1169  10 22  0 68
 1  2  71168  11236     44   4920 4654 8936  4929  8936 2428 1036   6 18  0 77
 1  1  42216   9224     44   4788 4477 5600  5059  5602 3313  992  37 19  0 45
 1  1  40948  11008     44   4932  143    0   591     3 1391  163  98  2  0  0
 1  0  40924  12248     60   5032   15    0    33     6 1170   87  98  2  0  0
 1  0  40912  12116     60   5228    2    0    21     0 1155   66  99  1  0  0
 1  0  40912  12000     68   5228    0    0     0     3 1152   58 100  1  0  0
 1  0  40912  12000     76   5260    3    0     6     3 1154   60 100  1  0  0
 1  0  40892  12000     84   5260    0    0     0     3 1153   63  99  1  0  0
 1  0  40704  11628     92   5260   34    0    34     3 1167   69 100  1  0  0
 1  0  40700  11628    100   5260    0    0     0     3 1153   61 100  0  0  0
 0  0  37956 401996    236  12804  474    0  1208     0 1626  229  89  5  3  3
 0  0  36900 400392    244  13372  103    0   160     7 1125  180   6  2 91  1

420 MB Sample

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs  us sy id wa
 0  3  59316   8820     48   4212 4238 4269  5132  4272 3592  939  20 16  0 65
 0  1  68268  11732     44   3400 4281 5112  4736  5114 3337  938   6 19  0 75
 1  3  60804   8820     76   4428 4715 3860  5877  3864 3518 1007  13 17  0 70
 1  1  56408   9948     44   2976 4710 4164  6948  4168 4389 1186   5 19  0 75
 2  2  70864  11704     44   2068 3975 6458  4908  6461 3854 1021   7 14  0 79

以下是 64 位 Windows 系统上的结果,基本上来自与 Raspberry Pi 上相同的 C 代码,但使用一次写入/读取通道。对于这些测试,基准测试是在三个系统上的数据需求不断增加的情况下运行的,最高可达 5、8 和 14 GB。

          64 Bit IntBurn64         64 Bit IntBurn64         64 Bit IntBurn64

      CPU     Athlon 64               Core 2 Duo                 Phenom II
      MHz       2210                     2400                       3000
   RAM MB       1024                     4096                       8192
  Windows      XP x64               64-Bit Vista             64-Bit Windows 7
 Disk W/R
   MB/sec         55                       55                         92

         KB    Secs  MB/sec         KB    Secs  MB/sec         KB    Secs  MB/sec

     100000            2041     100000            3393     100000            5146

     800000       1    1976    2500000       2    2868    2000000       1    4900
     850000      23      77    3000000       2    2878    3000000       1    4658
     900000      58      32    3100000       2    2847    3500000       2    4651
     920000      61      31    3200000       2    2899    4000000       2    4488
     930000      91      21    3300000       3    2698    4500000       2    4489
     940000      96      20    3400000       3    2610    5000000       2    4477
     950000      93      21    3500000       7    1075    5500000       3    4166
     960000      89      22    3600000      10     750    6000000       3    4051
     970000     142      14    3700000      17     459    6500000       3    4036
     980000     125      16    3800000     107      73    7000000       4    4078
     990000     119      17    3900000     210      38    7500000      72     214
    1000000     128      16    4000000     146      56    7600000     170      91
    1100000     188      12                               7700000     168      94
    1200000     205      12    5000000    1024      10    7800000     230      69
    1300000     266      10    7000000     652      22    7900000     239      68
    1400000     358       8    7900000     770      21    8000000     227      72
                               8000000             N/A    9000000     697      26
    2000000     683       6                              10000000    1231      17
    2100000                                              14000000    2742      10
    5000000    1707       6                              15000000             N/A

BMPSpeed Benchmark 可生成最大 512 MB 的 BMP 文件。它可以测量 0.5、1、2、4 等 MB 文件向上的保存、加载、滚动、旋转和编辑/放大的速度。使用的内存高达图像大小的 2.5 倍。由于无法分配 1.25 GB 的顺序内存空间,因此必须针对 Windows XP 修改原始版本。下面的第一个示例反映了 256 MB 的分页,但一些内存将被清除以重新运行。第二个问题出现在具有更多图形 RAM 的后期系统上,其中快速 BitBlt 复制可以用于更大的图像尺寸,这比较慢的 StretchDIBits 方法需要更多的空间。

我可能会制作一个新的 64 位版本,看看我是否可以用 32 GB RAM 破坏我的新基准测试玩具。

    BMPSpeed Results

    2.08 GHz CPU, 512 MB RAM, fast disk, slow GeForce graphics

   Input Enlarge    Save    Load  Scroll  Scroll  Rotate     Use
   Image Display         Display /Repeat Overall  90 deg    Fast
  Mbytes    Secs    Secs    Secs   msecs  MB/Sec    Secs  BitBlt

     0.5    0.05    0.01    0.03     0.7   992.8    0.04      3
     1.0    0.06    0.02    0.05     1.3  1013.2    0.06      3
     2.0    0.08    0.03    0.12     2.3  1019.8    0.09      3
     4.0    0.11    0.06    0.17     2.9  1032.4    0.15      3
     8.0    0.15    0.14    0.43    11.4   262.7    0.25      3
    16.0    0.24    0.29    0.51    11.4   262.7    0.81      3
    32.0    0.45    0.61    0.88    11.4   262.5    1.10      3
    64.0    0.55    1.31    1.49    41.4    72.2    2.79      0
   128.0    0.97    2.50    2.83    53.9    55.5    6.21      0
   256.0   73.02   88.77   14.84   109.7    27.3   86.60      0
   512.0   82.93   20.70   89.05   842.4     3.5   67.98      0


 2.4 GHz Core 2 Duo with 4 GB RAM and 64 Bit Vista, fast GeForce

   Input Enlarge    Save    Load  Scroll  Scroll  Rotate     Use
   Image Display         Display /Repeat Overall  90 deg    Fast
  Mbytes    Secs    Secs    Secs   msecs  MB/Sec    Secs  BitBlt

     0.5    0.05    0.01    0.05     0.1  4748.4    0.02      3
     1.0    0.05    0.02    0.08     0.3  4463.6    0.03      3
     2.0    0.07    0.02    0.11     1.1  2475.2    0.04      3
     4.0    0.09    0.03    0.19     2.4  1866.0    0.06      3
     8.0    0.13    0.08    0.31     2.9  1765.0    0.10      3
    16.0    0.20    0.24    0.48     2.7  1832.5    0.17      3
    32.0    0.26    0.52    0.78     2.9  1741.2    0.28      3
    64.0    0.39    1.08    1.38     2.9  1760.0    0.52      3
   128.0    0.68    2.37    2.63     2.9  1740.3    1.03      3
   256.0    1.35    4.62    5.38     3.1  1645.6    4.39      3
   512.0   27.91   13.05   10.59     3.2  1595.6   57.11      3
于 2014-05-09T10:23:40.377 回答