Tất cả bộ nhớ của tôi đang được sử dụng ở đâu?


3

Tôi đã có một Máy chủ HP với 4 gigabyte, chạy một máy tính để bàn LXDE khá nhỏ ngay bên cạnh. Nó chủ yếu là một máy chủ web và VM nhỏ. Nó đang sử dụng Debian 7.2 Ổn định.

# free -m
             total       used       free     shared    buffers     cached
Mem:          3840       3262        577          0         19        238
-/+ buffers/cache:       3005        834
Swap:         7628         12       7616

Những gì tôi thu thập được từ đây là đây không phải là vấn đề thông thường khiến mọi người sợ bộ nhớ cache ngày càng lớn. Nếu tôi buộc các bộ nhớ cache giảm xuống, nó chỉ giải phóng 100 meg hoặc hơn, vì vậy tôi không nghĩ đó là vấn đề ở đây.

Những gì tôi đang cố gắng tìm hiểu là những gì sử dụng 3 gigabyte.

# cat /proc/meminfo 
MemTotal:        3932292 kB
MemFree:          919468 kB
Buffers:            2356 kB
Cached:            74220 kB
SwapCached:         1932 kB
Active:           201688 kB
Inactive:          44464 kB
Active(anon):     153004 kB
Inactive(anon):    24032 kB
Active(file):      48684 kB
Inactive(file):    20432 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       7812088 kB
SwapFree:        7798840 kB
Dirty:                40 kB
Writeback:             0 kB
AnonPages:        167800 kB
Mapped:           362992 kB
Shmem:              7412 kB
Slab:              43164 kB
SReclaimable:      10728 kB
SUnreclaim:        32436 kB
KernelStack:        3688 kB
PageTables:        14072 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     9778232 kB
Committed_AS:    1364204 kB
VmallocTotal:   34359738367 kB
VmallocUsed:     2580308 kB
VmallocChunk:   34357040804 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      124480 kB
DirectMap2M:     3938304 kB
DirectMap1G:           0 kB

Có một cái nhìn /proc/meminfo, thêm vào tất cả các phần Hoạt động / Không hoạt động chỉ có khoảng 1GB, khiến tôi không có thêm 2GB. Điều này cũng bình phương tốt với đầu ra từ topvà nơi tôi nên chủ quan xem xét những gì đang chạy trên hệ thống ngay bây giờ.

Một số bài viết khác đề nghị nhìn vào con Slab:số ở đây, nhưng đó chỉ là 43 megabyte.

Bất cứ ý tưởng nào khác tôi nên tìm kiếm 2 gigabyte bị thiếu này?


Bạn có thể gửi đầu ra của freemem -a?
MariusMatutiae

Đầu ra cat /proc/meminfocũng không bị tổn thương. Vì bạn không cung cấp thông tin chi tiết thực sự nên mọi câu trả lời sẽ chỉ là thông tin chung về những gì có thể tiêu thụ bộ nhớ trên hệ thống Linux / Unix.
Brian

@MariusMatutiae - Không có lệnh hoặc chương trình như vậy trong repos. Cập nhật câu hỏi.
Mikey TK

Bạn có thể muốn thử (như sudo) các lệnh sau: sync; tiếng vang 3> / Proc / sys / vm / drop_caches; miễn phí -m. Lệnh đồng bộ buộc ghi ra đĩa mọi thứ đang chờ xử lý trong bộ đệm; lệnh echo sẽ tuôn ra đĩa đệm. Điều này sẽ chỉ để lại các phân bổ khác trong tiêu đề
cache

@MariusMatutiae If I force the caches to drop, it only frees 100 meg or so, so I don't think that's the problem here.. Điều đó chỉ xóa số lượng dữ liệu tương đối nhỏ dưới tiêu đề bộ đệm như đã nêu trong câu hỏi, nó không giải phóng số lượng không được tính cho hai gigabyte.
Mikey TK

Câu trả lời:


2

bạn có thể thấy những gì ăn bộ nhớ của bạn với lệnh này .

ps -e -orss=,args= | sort -b -k1,1n


0

Nếu máy bạn gặp sự cố là VM, thì bạn có thể đang chạy vào một thứ gọi là "Ballooning". Về cơ bản, đây là cách để hệ thống máy chủ áp dụng áp lực bộ nhớ cho hệ điều hành khách, tiêu tốn phân bổ bộ nhớ của khách khi các máy chủ khác bắt đầu sử dụng một lượng bộ nhớ đáng kể.

http://www.vfrank.org/2013/09/18/under Hiểu-vmware-ballooning /

Nếu bạn đang sử dụng VMware, hãy chạy lệnh

vmware-toolbox-cmd stat balloon

Điều này sẽ hiển thị số lượng bộ nhớ bóng. Tôi sẽ mạo hiểm đoán rằng đây là nơi chứa 2 GB bộ nhớ của bạn và đây sẽ là câu trả lời của bạn cho nơi sử dụng bộ nhớ khác của bạn. Đó sẽ là máy chủ VM của bạn đang sử dụng nó.

Các nguồn khác: Phát hiện bong bóng bộ nhớ từ bên trong VM bị ảnh hưởng

Tắt bộ nhớ bóng để xác nhận vấn đề.

Bộ nhớ unballooning: RAM Unballooning RAM RAM được VMware tăng tốc


Đây thực sự là một bình luận và không phải là một câu trả lời cho câu hỏi ban đầu. Bạn luôn có thể nhận xét về bài đăng của riêng bạn và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào . Xin vui lòng đọc tại sao tôi cần 50 danh tiếng để bình luận? Tôi có thể làm gì thay thế?
DavidPostill

Tôi đã thêm nhiều hơn vào câu trả lời để làm cho nó rõ ràng hơn trong việc trả lời câu hỏi của anh ấy. Tôi cảm thấy đây là câu trả lời cho câu hỏi của anh ấy. Anh hỏi trí nhớ anh đi đâu. Nếu sự nghi ngờ của tôi là chính xác rằng đây là một khách VM (mà anh ta đã nêu nhưng không rõ ràng), thì câu trả lời sẽ là "Máy chủ VM đang sử dụng nó" (mà tôi đã thêm vào câu trả lời). Tôi đã ra lệnh cho anh ta kiểm tra giá trị bong bóng bộ nhớ và phương pháp tắt để xác nhận xem anh ta có đang sử dụng VMware (YMMV trên các máy chủ VM khác không). Điều này với tôi trực tiếp trả lời câu hỏi của mình.
Kevin Vasko

Hiểu. Nhưng đặt câu hỏi "Có phải máy bạn đang gặp vấn đề với VM không?" nên được thực hiện trong ý kiến ​​không trả lời.
DavidPostill

-1

Gửi lời xin lỗi tới @Ereli

bạn có thể thấy những gì ăn bộ nhớ của bạn với lệnh này.

ps krss -e -orss=,args=

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.