C
không phải là java
nơi kích thước heap được cố định khi khởi động.
Heap và stack của một C
ứng dụng đã biên dịch chia sẻ cùng một không gian bộ nhớ ảo và điều chỉnh động.
Kích thước của không gian này phụ thuộc vào việc bạn đang biên dịch 32 bit hay 64 bit nhị phân và cả nhân của bạn là 32 bit hay 64 bit (trên phần cứng SPARC, nó luôn là 64 bit).
Nếu bạn không có đủ RAM và muốn Solaris chấp nhận đặt trước bộ nhớ lớn, một cách tương tự như Linux đối với bộ nhớ cam kết, bạn chỉ có thể thêm đủ trao đổi để đặt trước được sao lưu bằng bộ nhớ thực tế.
Nếu vì lý do nào đó, bạn không hài lòng với trình cấp phát bộ nhớ Solaris libc, bạn có thể đánh giá các công cụ thay thế đi kèm như libumem
, mtmalloc
hoặc bên thứ ba hoard
. Xem http://www.oracle. com / technetwork / posts / server-storage-dev / mem-Distribution-1557798.html
để biết chi tiết.