在越狱的iphone 5上使用top选择单个进程



所以我需要打印出单个iphone应用程序的内存使用情况进行浸泡测试。如果有一个存储的日志监视时间的使用情况(在自动化测试中定期运行),这将大有帮助。

为此,我越狱了iPhone并安装了移动终端。我的计划是使用top -p过滤掉其余的进程,然后将输出输出到日志文件。然后,数据可以在以后的日期回收和分析。

不幸的是,当我运行PID 616时:

top -p 616

那么我得到的只是多次打印出来的616:

Processes:  77 total, 1 running, 5 stuck, 71 sleeping... 335 threads                                                                                                                                     02:38:09
Load Avg:  1.23,  0.93,  0.90    CPU usage:  3.33% user,  0.00% sys, 96.67% idle
SharedLibs: num =    0, resident =     0 code,     0 data,     0 linkedit.
MemRegions: num =     0, resident =     0 +     0 private,     0 shared.
PhysMem:  108M wired,  152M active,   39M inactive,  497M used,  519M free.
VM: 28G + 0   904390(0) pageins, 32065(0) pageouts
  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS  RPRVT  RSHRD  RSIZE  VSIZE
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616

我看了一下,似乎iphone顶部的标志略有不同,但我找不到具体的描述。谁能告诉我如何打印一个过程的数据?

谢谢。

如果您想找到top的正确命令行开关,或者其他任何东西,请尝试这样做:

>> top --help

然而,你会看到,在越狱的iOS版本中不支持PID (-p)开关。

但是,如果你使用这个:

>> top -l 2 | grep 616

它应该给你你所需要的(在第二个行输出)。-l开关给你N个样本。你至少需要2个,因为top将CPU%计算为样本之间的增量,所以只有1个样本,它总是0%。但是,如果您只需要内存使用,您可能可以使用:

>> top -l 1 | grep 616

仅使用top | grep 616不工作,因为它连续运行。您可能只需要一个值,然后应该让top退出。

注意:你可能也需要从Cydia安装grep。只要搜索grep。这是Saurik发布的一个包。

警告:因为您正在使用grep来搜索正确的PID,您可能需要让解析日志文件的代码验证其日志输入。正确的输出将在文件中,但是如果数字PID与任何其他行匹配,也将获得额外的数据。例如,如果您搜索的PID恰好也是另一个进程使用的内存的MB数,那么您将获得额外的输出行。但是,文件中的第一列始终是PID。

最新更新