명령줄을 사용하여 실행하는 코드의 최대 메모리 소비를 확인할 수 있는 방법이 있습니까? [반복하다]

명령줄을 사용하여 실행하는 코드의 최대 메모리 소비를 확인할 수 있는 방법이 있습니까? [반복하다]

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)

관련 정보