Tôi có một cái gì đó khoảng 200 GB dữ liệu được lưu trữ trong một cụm mongo. Bộ nhớ vật lý trên một trong những trường hợp chạy mongo là 8GB. Không có gì khác của bất kỳ hậu quả chạy trong trường hợp này. Gần như tôi có thể hiểu dựa trên tài liệu của Mongo (như thế này: http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage ) điều này có nghĩa là quy trình mongod nên sử dụng khoảng 100% bộ nhớ vật lý có sẵn. Nhưng nếu bạn nhìn vào đầu ra sau từ top
lệnh, bạn sẽ thấy rằng cá thể mongod chỉ sử dụng 2GB bộ nhớ lưu trú và có đầy đủ 2GB bộ nhớ vật lý miễn phí có sẵn mà không được sử dụng.
Ai đó có thể giải thích hành vi này cho tôi? Tại sao có 2GB bộ nhớ trống?
top
đầu ra:
top - 23:19:43 up 89 days, 20:05, 2 users, load average: 0.41, 0.55, 0.59
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.0%us, 1.3%sy, 0.0%ni, 93.9%id, 2.6%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8163664k total, 6131764k used, 2031900k free, 54976k buffers
Swap: 16771848k total, 10604k used, 16761244k free, 5367700k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1401 mongodb 20 0 174g 2.0g 1.9g S 23 26.2 18070:55 mongod
...
Thông tin hệ thống:
$ uname -a
Linux aluminum 2.6.32-31-server #61-Ubuntu SMP Fri Apr 8 19:44:42 UTC 2011 x86_64 GNU/Linux
Ghi chú:
- Có một ví dụ khác trong cụm này nơi mongod đang hoạt động như tôi mong đợi và sử dụng tất cả bộ nhớ có sẵn.
- Nhìn vào bộ điều chỉnh có vẻ như liên tục có một số lỗi trang, do đó, số lượng bộ nhớ được sử dụng sẽ tăng lên:
- (Tôi đã hỏi câu hỏi tương tự trên nhóm google người dùng mongodb nhưng không có phản hồi.)
uname
nhưng tôi chưa lsb-release
cài đặt.
lsb-release -a
vàuname -a
xin vui lòng)