Команда использования памяти с синтаксисом, подобным команде времени

Для дальнейшей ссылки это действительно работает, но не нужно использовать хижину для пути tcsh:

 #!/bin/tcsh 

а скорее используйте путь к 'ENV':

 #!/usr/bin/env tcsh

позволить гибкость в системах с tcsh, установленным в различных путях. Например, если 'tcsh' будет установлен в '/usr/bin/tcsh то ', затем первый перестанет работать, в то время как последний будет все еще работать.

18
12.09.2013, 22:02
2 ответа

Как ни странно, time мог бы иметь ответ для Вас, но на этот раз это должно быть не shell-built-in time но автономный вместо этого:

$ /usr/bin/time -v uname
Linux
        Command being timed: "uname"
        User time (seconds): 0.00
        System time (seconds): 0.00
        Percent of CPU this job got: 2%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.12
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 896
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 1
        Minor (reclaiming a frame) page faults: 304
        Voluntary context switches: 3
        Involuntary context switches: 3
        Swaps: 0
        File system inputs: 56
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Это считает МАКСА RSS, хотя, не VSS, так был бы это быть полезным для Вас или не зависит от Вашей самой задачи в большой степени.

UPD.: Mac OS X' "думает", немного отличается, но тем не менее это time:

/usr/bin/time -l /Applications/Opera.app/Contents/MacOS/Opera
      244.63 real        54.34 user        26.44 sys
 284827648  maximum resident set size
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
    711407  page reclaims
      1272  page faults
         0  swaps
       155  block input operations
       251  block output operations
     98542  messages sent
     68330  messages received
        16  signals received
       699  voluntary context switches
    468999  involuntary context switches
24
27.01.2020, 19:46
  • 1
    +1, хороший для знания этого. Но остерегайтесь, это - определенная для GNU функция. Делает Android, включают GNU time(1)? встроенный –  Warren Young 13.09.2013, 09:07
  • 2
    Shell? Ни один bash ни zsh страницы справочника здесь упоминают это. Вы путаете его с times? –  Warren Young 13.09.2013, 09:07
  • 3
    @WarrenYoung, for SH in zsh bash dash; do $SH -c 'echo $0; type time'; done — время zsh является зарезервированным словом — время удара является ключевым словом оболочки — время тире является/usr/bin/time –  poige 14.09.2013, 06:28
  • 4
    @WarrenYoung и нет, Android не имеет его по умолчанию, но с тех пор /usr/bin/time создается в большой степени сверх системных вызовов wait3 или wait4 (Я не помню точно), это может быть легко приведено в действие там также. –  poige 14.09.2013, 06:53

Можно использовать valgrind для этого:

$ valgrind myprogram arg1 arg2

Его вывод будет иметь много несоответствующего материала, но его сводка "кучи" делает то, что Вы хотите:

==91383== HEAP SUMMARY:
==91383==     in use at exit: 157,643 bytes in 364 blocks
==91383==   total heap usage: 2,999 allocs, 2,635 frees, 306,450 bytes allocated
2
27.01.2020, 19:46
  • 1
    я не имею valgrind но похоже, что существует порт для андроида, я попытаюсь установить его. –  kyle k 12.09.2013, 22:25
  • 2
    @kylek: при выполнении какой-либо собственной разработки программного обеспечения ЦП на Android Вы хотите иметь его так или иначе. –  Warren Young 12.09.2013, 22:29

Теги

Похожие вопросы