コマンドラインを使用して実行するコードの最大メモリ消費量を確認する方法はありますか? [繰り返し]

コマンドラインを使用して実行するコードの最大メモリ消費量を確認する方法はありますか? [繰り返し]

このtimeコマンドは、私が開発したコードが実行されるのにかかる時間を確認するのに役立ちます...しかし、使用している言語に関係なく、私が開発したコードのメモリ消費を確認する方法もありたいと思います。もしそうならbash、、pythonまたはnode.js...私のコードでどのくらいのRAMメモリを使用しているかを確認する方法がありたいと思います。これにより、私がやっていることについてもっと理解し、メモリの重複などを避けることができます。それ。私が作成したスクリプトが消費するメモリ量を確認するために使用できるコマンドラインはありますか?

答え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最大2208KのRAMを使用して表示されます。

次のようなその他のツールウォールグリーン具体的には、ヒープ使用量に関する追加情報が表示されます。

$ 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)

関連情報