Tôi đang cố gắng xác định vị trí bộ nhớ của tôi đã đi cho một quá trình java chạy trong linux. Có người đề nghị tôi sử dụng pmap -x để xem chính xác bộ nhớ đang làm gì.Đang cố gắng xác định vị trí rò rỉ! Anon có nghĩa là gì đối với pmap?
Đầu ra là rất dài nhưng cơ bản là một phần tốt đẹp của nó là một lặp lại điều này:
00007fbf75f6a000 1016 - - - rwx-- [ anon ]
00007fbf76068000 12 - - - ----- [ anon ]
chính xác điều này có ý nghĩa gì? Tại sao tôi có quá nhiều mục trong số này (4000+)?
> tại sao bạn sử dụng pmap để chẩn đoán sự cố bộ nhớ Java? Chúng tôi có một quá trình java với heap thiết lập để tối đa 256MB nhưng đó là bộ nhớ RSS là 8,9GB. Chúng ta có thể sử dụng công cụ nào khác để chẩn đoán điều này? – Opher
@Opher - chắc chắn, hợp lý với bạn. Nhưng bạn có phải là OP? (và nếu có, tại sao bạn lại bình luận 8 năm sau?). Từ câu hỏi ban đầu, không rõ OP có biết anh ta/cô ấy đang tìm kiếm gì không. – kdgregory
Và như một gợi ý: nếu bạn thấy sự chênh lệch giữa kích thước heap được cấu hình và RSS, hãy tìm các tệp ánh xạ bộ nhớ hoặc bộ đệm trực tiếp. Bạn sẽ thấy hành vi như vậy, ví dụ, từ một máy chủ Kafka hoặc SOLR, và nó là bình thường. – kdgregory