2011-09-24 30 views

Trả lời

19

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 
+0

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

+0

Đó là cuộc gọi C API, không phải là công cụ dòng lệnh. –

+0

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

3

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.

+2

Không phải là một lệnh trong ubuntu như getrlimit – HMS

13

kích thước ngăn xếp tối đa bằng kilobyte:

ulimit -s 
Các vấn đề liên quan