Tôi có một quy trình python (Pylons webapp) liên tục sử dụng 10-30% CPU. Tôi sẽ cải thiện/điều chỉnh việc ghi nhật ký để hiểu rõ những gì đang xảy ra, nhưng cho đến lúc đó, có công cụ/kỹ thuật nào cho phép xem quy trình python đang hoạt động hay không, bao nhiêu chủ đề bận rộn như thế nào?Điều tra quá trình python để xem những gì đang ăn CPU
Cập nhật:
- cấu hình bản ghi truy cập trong đó cho thấy rằng không có yêu cầu xảy ra, webapp chỉ là chạy không tải
- không có điểm để cắm vào paste.profile trong chuỗi middleware vì không có yêu cầu , hoạt động phải xảy ra trong chuỗi công việc của webapp hoặc máy chủ web paster
- chạy paster như sau: "python -m cProfile -o outfile/usr/bin/paster serve dev.ini" và kiểm tra kết quả cho thấy rằng hầu hết thời gian được chi tiêu trong "posix.waitpid". Paster chạy webapp trong tiến trình con, hoạt động tiến trình con không được nhặt bởi profiler
- nhìn vào; hack PasteScript "phục vụ" lệnh để trình con sẽ được cấu hình
Một cập nhật:
Sau nhiều mày mò , gắn vào profiler ở những nơi khác nhau và làm quen với PasteScript bên trong, tôi phát hiện ra rằng tải CPU liên tục biến mất nếu ứng dụng được khởi động mà không có tham số "- reload" (cờ này cho paster tự khởi động lại nếu thay đổi mã, tiện dụng trong phát triển), đó là tốt trong môi trường sản xuất.
Hệ điều hành nào? – mavnn