Cpu-Usage
針對不同參數的 CPU/RAM 消耗對腳本性能進行基準測試
我有一個圖像處理 shell 腳本,可以提供不同的參數集,這些參數都為我產生有效的輸出。我正在嘗試辨識具有最低資源(CPU/RAM)使用率的參數集,因為該腳本將在雲上執行。有什麼工具可以用來做基準測試嗎?我正在尋找可以為我提供腳本使用的總 cpu 週期或我可以比較的任何其他相關數據/指標的東西。
作業系統:Ubuntu 20.04,外殼:BASH
我正在尋找的範例:
magical-benchmark-tool -c pdftoppm -png test.pdf test
輸出
time (seconds) processor cycles max memory used (MB) mean memory used (MB) -------------- ---------------- -------------------- -------------------- 19 1253 250 128
謝謝!
您沒有指定使用哪個 shell,所以我將假設 Bash。
對於 CPU 使用率,您可以使用
strace
.strace -c script.sh
對於一個簡單的 Hello World 腳本
#!/bin/bash echo "Hello World"
輸出
Hello World % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 17.70 0.000253 14 18 mmap 11.69 0.000167 20 8 openat 9.59 0.000137 9 14 rt_sigaction 7.35 0.000105 13 8 fstat 6.30 0.000090 15 6 mprotect 5.60 0.000080 10 8 close 5.32 0.000076 12 6 read 5.11 0.000073 14 5 stat 4.90 0.000070 70 1 execve 3.50 0.000050 10 5 rt_sigprocmask 2.59 0.000037 37 1 write 2.24 0.000032 10 3 lseek 2.24 0.000032 10 3 brk 2.10 0.000030 10 3 2 ioctl 1.89 0.000027 9 3 1 fcntl 1.40 0.000020 20 1 munmap 1.40 0.000020 20 1 1 access 1.33 0.000019 9 2 getpid 1.26 0.000018 9 2 prlimit64 0.77 0.000011 11 1 dup2 0.70 0.000010 10 1 sysinfo 0.70 0.000010 10 1 getppid 0.70 0.000010 10 1 arch_prctl 0.63 0.000009 9 1 uname 0.63 0.000009 9 1 getuid 0.63 0.000009 9 1 getgid 0.63 0.000009 9 1 getpgrp 0.56 0.000008 8 1 geteuid 0.56 0.000008 8 1 getegid ------ ----------- ----------- --------- --------- ---------------- 100.00 0.001429 108 4 total
對於記憶體,您可以使用
top
.執行時頂按
o
並鍵入 egCOMMAND=bash
以顯示COMMAND
列中等於的條目bash
。