Tôi có một tập lệnh Perl chạy dài và tôi muốn cho nó biết (và báo cáo) lượng bộ nhớ mà nó đang sử dụng. Tôi muốn có thông tin này cả trên Linux và Windows và nếu có thể trên Mac OS X.Làm thế nào một tập lệnh Perl có thể biết được dấu vết bộ nhớ của chính nó?
7
A
Trả lời
6
Những module Perl có thể giúp bạn:
- Windows: Win32::Process::Memory
- Linux (và có lẽ Mac OSX): Linux::Smaps
5
này sẽ chỉ cho bạn cách:
http://perldoc.perl.org/Devel/Peek.html
Ngoài ra, http://perldoc.perl.org/perlguts.html
và, trang dành cho người đàn ông cho perldebug và perldebguts.
1
Đây là phương pháp miễn phí nhanh chóng và bẩn và hầu hết tất cả CPAN. Nó hoạt động trên bất kỳ hệ điều hành nào cung cấp hệ thống tập tin/proc, đó là các dẫn xuất của Linux và Unix, bao gồm Mac OS X, và cả trên Cygwin trong Windows:
perl -e 'print qx{ grep VmSize /proc/$$/status };'
+0
Không hoạt động trên OS X –
Các vấn đề liên quan
- 1. Làm thế nào để có được dấu vết ngăn xếp của một ngoại lệ trong Scala để in nó?
- 2. Tập lệnh shell có thể chỉ ra rằng các dòng của nó được nạp vào bộ nhớ ban đầu không?
- 3. Perl: Làm thế nào tôi có thể nhận được Emacs để thêm dấu ngoặc kép cho đường dẫn đầy đủ của một tập lệnh Perl?
- 4. Làm thế nào một tập lệnh có thể tìm thấy chính nó trong R chạy từ dòng lệnh?
- 5. Làm thế nào một tập lệnh bash có thể biết được thư mục mà nó được cài đặt khi nó có nguồn gốc. nhà điều hành?
- 6. Trong Perl, làm thế nào một chương trình con có thể nhận được một coderef trỏ đến chính nó?
- 7. Làm cách nào để xem giá trị của các biến từ một dấu vết Perl?
- 8. Làm cách nào để biết tập lệnh Perl của tôi có đang chạy trong Windows không?
- 9. Làm thế nào tôi có thể gọi một tập lệnh PHP từ Perl?
- 10. Làm cách nào để chạy tập lệnh Perl từ bên trong tập lệnh Perl?
- 11. có thể là một tập lệnh python biết rằng một thể hiện khác của cùng một tập lệnh đang chạy ... và sau đó nói chuyện với nó?
- 12. Bắt dấu vết ngăn xếp trong Perl?
- 13. Làm thế nào tôi có thể viết một dấu vết ngăn xếp ngoại lệ trong erlang sau khi bắt nó?
- 14. Làm thế nào tôi có thể chạy một lệnh bên ngoài và nắm bắt đầu ra của nó trong Perl?
- 15. Tập tin bat có biết tên của nó và nó có thể tự xóa
- 16. Làm thế nào tôi có thể khởi tạo một đối tượng chỉ biết tên của nó?
- 17. Nhận dấu vết ngăn xếp của tập lệnh PHP bị treo
- 18. Cách chính xác để chết với một lỗi nhưng không có một dấu vết ngăn xếp trong perl là gì?
- 19. Làm thế nào tôi có thể thiết lập mức độ chính xác cho bignum của Perl?
- 20. Kịch bản lệnh Python biết số lượng bộ nhớ mà nó đang sử dụng
- 21. Làm thế nào để có được tổng bộ nhớ vật lý trong Bash để gán nó cho một biến?
- 22. Làm thế nào tôi có thể nhận được đầu ra của tập lệnh được sao chép vào khay nhớ tạm của Windows?
- 23. Làm thế nào để có được bộ mô tả tập tin của bộ đệm trong bộ nhớ?
- 24. Làm thế nào tôi có thể chuyển một tên tập tin bằng dấu cách vào một lệnh ngoài trong Perl một cách an toàn?
- 25. Làm thế nào để có được tên dir của một tập tin với Perl?
- 26. Các tập lệnh truy cập phương thức truy nhập phương thức có thể được lưu trong bộ nhớ cache của chủ Web có thể được lưu trong bộ nhớ chính bằng chuỗi chính không?
- 27. Làm thế nào để tập lệnh PHP của tôi có thể biết liệu máy chủ có bận không?
- 28. Làm thế nào một kịch bản lệnh shell có thể biết rằng nó chạy trong vùng Solaris?
- 29. Làm thế nào một ngôn ngữ có thể được giải thích bởi chính nó (như Rubinius)?
- 30. Một thể hiện của một lớp có thay thế chính nó bằng JavaScript không?
Tôi không nghĩ rằng 'Linux :: Smaps' hoặc 'grep VmSize/proc/$$/status' hoạt động trong Mac OS, vì dựa vào bảng'/proc'. – aixtal