Điểm:0

Hiệu suất tập lệnh điểm chuẩn so với mức tiêu thụ CPU/RAM cho các tham số khác nhau

lá cờ ke

Tôi có một tập lệnh shell xử lý hình ảnh có thể được cung cấp với các bộ tham số khác nhau, tất cả đều tạo ra đầu ra hợp lệ cho tôi. Tôi đang cố xác định tập tham số có mức sử dụng tài nguyên (CPU/RAM) thấp nhất vì tập lệnh này sẽ chạy trên đám mây.Có công cụ nào tôi có thể sử dụng để đo điểm chuẩn không? Tôi đang tìm thứ gì đó sẽ cung cấp cho tôi tổng số chu kỳ cpu được sử dụng bởi tập lệnh hoặc bất kỳ dữ liệu/số liệu liên quan nào khác mà tôi có thể so sánh.

Hệ điều hành: Ubuntu 20.04, Shell: BASH

Ví dụ về những gì tôi đang tìm kiếm:

magic-benchmark-tool -c pdftoppm -png test.pdf test

đầu ra

thời gian (giây) chu kỳ bộ xử lý sử dụng bộ nhớ tối đa (MB) bộ nhớ sử dụng trung bình (MB)
-------------- ---------------- -------------------- --------------------
19 1253 250 128

Cảm ơn bạn!

John Mahowald avatar
lá cờ cn
Vui lòng chỉnh sửa câu hỏi của bạn để thêm hệ điều hành, phiên bản và thư viện xử lý hình ảnh nào, nếu bạn muốn thảo luận cụ thể về các công cụ.
Điểm:0
lá cờ us

Bạn đã không chỉ định shell nào bạn sử dụng, vì vậy tôi sẽ giả sử Bash.


Đối với việc sử dụng CPU, bạn có thể sử dụng bước đi.

strace -c script.sh

Đối với một tập lệnh Hello World đơn giản

#!/bin/bash
tiếng vang "Xin chào thế giới"

đầu ra

Chào thế giới
% thời gian giây lỗi sử dụng/cuộc gọi cuộc gọi syscall
------ ----------- ----------- --------- --------- ---- ------------
 17.70 0.000253 14 18 mmap
 11.69 0.000167 20 8 mở
  9.59 0.000137 9 14 rt_sigaction
  7.35 0.000105 13 8 fstat
  6.30 0.000090 15 6 mbảo vệ
  5.60 0.000080 10 8 đóng
  5,32 0,000076 12 6 đã đọc
  5.11 0.000073 14 5 chỉ số
  4.90 0.000070 70 1 giám đốc điều hành
  3.50 0.000050 10 5 rt_sigprocmask
  2.59 0.000037 37 1 viết
  2.24 0.000032 10 3 tìm kiếm
  2,24 0,000032 10 3 điểm
  2.10 0.000030 10 3 2 ioctl
  1.89 0.000027 9 3 1 fcntl
  1.40 0.000020 20 1 bản đồ
  1,40 0,000020 20 1 1 truy cập
  1.33 0.000019 9 2
  1.26 0.000018 9 2 giới hạn64
  0,77 0,000011 11 1 dup2
  0,70 0,000010 10 1 thông tin hệ thống
  0,70 0,000010 10 1 getppid
  0,70 0,000010 10 1 arch_prctl
  0.63 0.000009 9 1 tên
  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 tổng cộng

Đối với bộ nhớ bạn có thể sử dụng hàng đầu.
Trong khi chạy báo chí hàng đầu o và gõ ví dụ LỆNH = bash để hiển thị các mục từ CHỈ HUY cột bằng đánh đập.

user728899 avatar
lá cờ ke
Cảm ơn! strace mang lại cho tôi những gì tôi muốn về CPU. Bây giờ tôi cần lấy một số con số liên quan đến bộ nhớ (bộ nhớ tối đa được sử dụng, nghĩa là bộ nhớ được sử dụng trong quá trình xử lý) từ dòng lệnh.
p10l avatar
lá cờ us
Như tôi đã nói trong câu trả lời của mình, bạn có thể sử dụng `top`. Nó không hoàn hảo, nhưng tôi không biết về bất kỳ giải pháp miễn phí nào khác. Ngoài ra, nếu bạn thấy câu trả lời của tôi hữu ích, hãy cân nhắc [chấp nhận và/hoặc nâng cấp câu trả lời đó](https://serverfault.com/help/someone-answers).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.