Tôi đang làm việc trên Ubuntu 11.04. Làm cách nào để tìm ra kích thước ngăn xếp cuộc gọi tối đa của một quy trình và kích thước của mỗi khung của ngăn xếp?Làm cách nào để tìm kích thước ngăn xếp tối đa?
Trả lời
Bạn có thể truy vấn quy trình tối đa và kích thước ngăn xếp bằng cách sử dụng getrlimit
. Khung ngăn xếp không có kích thước cố định; tùy thuộc vào số lượng dữ liệu cục bộ (tức là các biến cục bộ) mà mỗi khung hình cần.
Để thực hiện việc này trên dòng lệnh, bạn có thể sử dụng ulimit.
Nếu bạn muốn đọc các giá trị cho một quá trình chạy, tôi không biết về bất kỳ công cụ thực hiện điều này, nhưng nó đủ dễ dàng để truy vấn hệ thống tập tin/proc:
cat /proc/<pid>/limits
Bạn có thể sử dụng getrlimit
để xem kích thước ngăn xếp và setrlimit
để thay đổi kích thước.
Có ví dụ trong bài đăng Increase stack size in Linux with setrlimit.
Không phải là một lệnh trong ubuntu như getrlimit – HMS
Tìm kiếm nhanh trên Google sẽ hiển thị some information on this subject.
> ulimit -a # shows the current stack size
Tất nhiên, tìm kiếm nhanh trên google hiện phục vụ trang này. – gerardw
kích thước ngăn xếp tối đa bằng kilobyte:
ulimit -s
- 1. Làm cách nào để tăng kích thước ngăn xếp cuộc gọi tối đa trong Node.js
- 2. Kích thước ngăn xếp tối đa C/C++
- 3. Cách tìm kích thước ngăn xếp tối đa của chuỗi hiện tại trong .net?
- 4. Google Chrome: Cách gỡ lỗi các lỗi "Kích thước ngăn xếp tối đa cuộc gọi tối đa" ngẫu nhiên
- 5. Kích thước ngăn xếp tối đa, ulimit -s, segfault 11 - cách thức hoạt động?
- 6. Kích thước đỉnh tối đa
- 7. RangeError: Kích thước ngăn xếp cuộc gọi tối đa vượt quá
- 8. Kích thước ngăn xếp cuộc gọi tối đa đã vượt quá trong một cuộc gọi setTimeout
- 9. JSpec - RangeError: Kích thước ngăn xếp cuộc gọi tối đa vượt quá
- 10. Kích thước ngăn xếp cuộc gọi tối đa vượt quá trong JSON.stringify (navigator)
- 11. Kích thước tệp tối đa và kích thước kho lưu trữ tối đa trong Git?
- 12. Làm thế nào để ngăn chặn tràn ngăn xếp bằng cách theo dõi kích thước ngăn xếp?
- 13. Chrome: Cách giải quyết lỗi "Kích thước ngăn xếp cuộc gọi tối đa đã vượt quá" trên Math.max.apply (Math, array)
- 14. Kích thước bộ nhớ cache tối đa
- 15. kích thước khối tối đa RSA nào để mã hóa?
- 16. C++ vs2010 tăng kích thước ngăn xếp
- 17. Làm cách nào để đặt số lượng cuộn tối đa và kích thước nhật ký tối đa cho tomcat?
- 18. $ _POST kích thước mảng tối đa
- 19. Làm cách nào để tăng kích thước Tải lên tối đa trong cPanel?
- 20. Làm cách nào để tăng kích thước ngăn xếp bằng runhaskell?
- 21. Kích thước tối đa của SharedPreferences lớp
- 22. Kích thước tối đa của phiên PHP
- 23. kích thước tối đa trong BlobProperty (appengine)
- 24. Kích thước tối đa cho StringBuffer
- 25. Tạo ngăn xếp có kích thước cố định
- 26. Android: Tăng kích thước ngăn xếp cuộc gọi
- 27. Làm cách nào để xác định kích thước giao dịch tối đa trong MySQL?
- 28. Sử dụng TPL làm cách nào để đặt kích thước tối đa cho threadpool
- 29. Stack so với Heap trong Javascript? (Đã vượt quá kích thước ngăn xếp cuộc gọi tối đa)
- 30. Kích thước tối đa cho đa xử lý.Queue mục?
tôi nhận được một lệnh không tìm thấy lỗi. Tôi cần cài đặt gói nào cho lệnh này? – Bruce
Đó là cuộc gọi C API, không phải là công cụ dòng lệnh. –
Họ cần phải có một số kích thước bắt đầu phải không? Liệu trình biên dịch tính toán trước kích thước của khung stack (có tính đến tất cả các biến địa phương) và sau đó phân bổ khung? – Bruce