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

Вы можете использовать команду lsusb, и она будет отображаться примерно так:

# lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 006: ID 0a5c:2110 Broadcom Corp.
Bus 004 Device 001: ID 0000:0000
0
01.05.2021, 21:50
1 ответ

Во многих Unix-подобных -системах, да, GNU-реализация/usr/bin/time(с путем, чтобы избежать аналогичной оболочки, встроенной -в ), сообщит вам, сколько памяти требуется для выполнения данной программы. использовал; например:

$ /usr/bin/time ls
...
0.00user 0.00system 0:00.00elapsed 50%CPU (0avgtext+0avgdata 2208maxresident)k
0inputs+0outputs (0major+139minor)pagefaults 0swaps

показывает, что lsиспользовал не более 2208 КБ ОЗУ.

Другие инструменты, такие как Valgrind , будут показывать больше информации, особенно об использовании кучи:

$ valgrind ls
...
==10107== 
==10107== HEAP SUMMARY:
==10107==     in use at exit: 32,928 bytes in 83 blocks
==10107==   total heap usage: 506 allocs, 423 frees, 97,271 bytes allocated
==10107== 
==10107== LEAK SUMMARY:
==10107==    definitely lost: 0 bytes in 0 blocks
==10107==    indirectly lost: 0 bytes in 0 blocks
==10107==      possibly lost: 0 bytes in 0 blocks
==10107==    still reachable: 32,928 bytes in 83 blocks
==10107==         suppressed: 0 bytes in 0 blocks
==10107== Rerun with --leak-check=full to see details of leaked memory
==10107== 
==10107== For counts of detected and suppressed errors, rerun with: -v
==10107== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1
28.07.2021, 11:35

Теги

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