Có tùy chọn nào cho lệnh trên cùng của linux nơi tôi có thể lọc các quy trình theo tên và ghi mức sử dụng CPU của mỗi quy trình đó vào 1 tệp nhật ký không?Lọc theo tên quy trình và sử dụng CPU đăng nhập
65
A
Trả lời
111
Để lọc đầu ra top
theo tên quy trình, bạn có thể sử dụng pgrep
để nhận danh sách PID bằng tên quá trình, sau đó chuyển chúng sang -p
tùy chọn top
. Ví dụ:
top -p $(pgrep -d',' http)
Lưu ý: tùy chọn -d','
delimits PID bằng dấu phẩy, đó là những gì được mong đợi bởi top -p
. Lưu ý 2: top
sẽ trả về thông báo lỗi nếu không có quy trình chạy khớp với tên bạn chỉ định trong pgrep
.
Để ghi kết quả top
vào một tệp, hãy sử dụng tùy chọn -n 1
(chỉ một lần lặp) và chuyển hướng đầu ra tới tệp nhật ký của bạn.
top -p $(pgrep -d',' http) -n 1 >> your_log_file
Để làm điều đó mỗi giây, có lẽ một vòng lặp while
với một sleep
sẽ làm gì?
while :; do top -p $(pgrep -d',' http) -n 1 >> your_log_file; sleep 1; done
Để đánh dấu thời gian mỗi mục, bạn có thể thêm đầu ra của date
. Ví dụ.
while :; do top -p $(pgrep -d',' http) -n 1 >> log.txt; date >> log.txt; sleep 1; done
5
lựa chọn khác là:
top -b -d 1 -p $(pgrep -d',' java) -n 120 > log.txt
- Các tùy chọn -d cho phép để thiết lập tần số được sử dụng bởi hàng đầu để làm mới dữ liệu .
- Tùy chọn -b có nghĩa là giao diện truyền thống ở trên cùng là không được sử dụng. Thay vào đó, nó sẽ gửi mọi thứ đến đầu ra tiêu chuẩn và sau đó bạn có thể sử dụng một đường ống (|) hoặc một chuyển hướng (>).
- Tùy chọn -n thông báo về số lần lặp lại sẽ thực thi.
Sau đó bạn có thể gõ:
cat log.txt | grep USER_OF_PROCESS
Bạn sẽ thấy thời gian thực hiện quá trình này và cũng% CPU, bộ nhớ và tất cả những gì.
2
#You can run following script as ./cpurecorder.sh pid filename
#It will generate output file with memory usage and cpu utilisation.
#You can log other variable by searching man for ps.
`enter code here`filepath=/home/rtcsadm # modify as desired
interval=20 # reports per minute
timelimit=6000 # how long to run, in seconds
mydate=`date "+%H:%M:%S"` # the timestamp
freq=$((60/$interval)) # for sleep function
while [ "$SECONDS" -le "$timelimit" ] ; do
ps -p$1 -opid -opcpu -opmem -ocomm -c | grep $1 | sed "s/^/$mydate /" >> $filepath/$2.txt
sleep 3
mydate=`date "+%H:%M:%S"`
done
Các vấn đề liên quan
- 1. Lọc theo quy trình/PID trong Wireshark
- 2. Sử dụng tài nguyên quy trình Linux (cpu, đĩa, mạng)
- 3. Cách sử dụng CPU cho mỗi quy trình trong Python
- 4. Python - lấy tên quy trình, sử dụng CPU, Mem và sử dụng Mem cao nhất trong windows
- 5. Tên của quy trình có mức sử dụng CPU cao nhất
- 6. Cách hạn chế sử dụng CPU của một quy trình
- 7. C++ CPU Đăng ký sử dụng
- 8. Đăng nhập theo chương trình và duy trì trạng thái đăng nhập
- 9. Sử dụng CPU và Object.wait
- 10. Yahoo Tên đăng nhập Regex
- 11. Đăng nhập bằng Facebook theo cách lập trình bằng tên người dùng/mật khẩu
- 12. Cài đặt Đường dẫn trình đăng nhập theo chương trình
- 13. Cách Groovy để đăng nhập đầu ra quy trình
- 14. quy tắc htaccess để chuyển tiếp/đăng nhập/và/đăng nhập vào cùng một trang?
- 15. Tìm PID của Quy trình theo Tên mà không sử dụng popen() hoặc hệ thống()
- 16. cách thay đổi tên của quy trình đăng ký Java?
- 17. Lọc tên tệp theo mẫu
- 18. Sử dụng CPU với golang
- 19. Cách đăng nhập vào wordpress theo chương trình?
- 20. Lọc người dùng có thể đăng nhập bằng Devise
- 21. Tùy chỉnh quy trình đăng nhập FIX trong trình chấp nhận QuickFIX
- 22. Xác định sử dụng CPU
- 23. Cấu hình Sử dụng CPU Python theo Chủ đề
- 24. Sử dụng và danh sách in lại đăng nhập
- 25. Chương trình treo biểu thức chính quy (sử dụng CPU 100%)
- 26. Có cách nào để theo dõi/theo dõi và đăng nhập tất cả các phương thức, theo tên lớp và phương thức, trong một phiên gỡ lỗi không?
- 27. Android - Cách theo dõi mức sử dụng băng thông theo ứng dụng hoặc quy trình?
- 28. MSMQ và Đăng nhập
- 29. Giết một số quy trình theo tên tệp .exe
- 30. C# - Lập trình Log-off và đăng nhập vào một người sử dụng
Cảm ơn Shawn, cách đăng nhập ngày & giờ trong mỗi 1 giây. Vì vậy, nó sẽ giúp tôi cách ly vào thời điểm nào và lượng CPU được sử dụng theo quy trình cụ thể. – BalaB
@bala xem các cập nhật trong câu trả lời. –
Thanh lịch và rất hữu ích. Cảm ơn! –