Tại sao các giá trị% MEM ở trên cùng không cộng vào tổng bộ nhớ đã sử dụng?


18

Tôi hiện đang gỡ lỗi các vấn đề về hiệu suất với VPS của mình và vì thế tôi đang cố gắng hiểu quá trình nào ăn nhiều bộ nhớ nhất. Đọc hàng đầu, đây là những gì tôi nhận được:

Mem:    366544k total,   321396k used,    45148k free,      380k buffers
Swap:  1048572k total,   592388k used,   456184k free,     7756k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                  
12339 ruby      20   0  844m  74m 2440 S    0 20.8   0:24.84 ruby                                                                                     
12363 ruby      20   0  844m  73m 1576 S    0 20.6   0:00.26 ruby                                                                                     
21117 ruby      20   0  171m  33m 1792 S    0  9.3   2:03.98 ruby                                                                                     
11846 ruby      20   0  858m  21m 1820 S    0  6.0   0:09.15 ruby                                                                                     
21277 ruby      20   0  219m  11m 1648 S    0  3.2   2:00.98 ruby                                                                                     
  792 root      20   0  266m  10m 1024 S    0  3.0   1:40.06 ruby                                                                                     
  532 mysql     20   0  234m 4760 1040 S    0  1.3   0:41.58 mysqld                                                                                   
  793 root      20   0  250m 4616  984 S    0  1.3   1:20.55 ruby                                                                                     
  586 root      20   0  156m 4532  848 S    0  1.2   6:17.10 god                                                                                      
12315 ruby      20   0  175m 2412 1900 S    0  0.7   0:07.55 ruby                                                                                     
 3844 root      20   0 44036 2132 1028 S    0  0.6   1:08.22 ruby                                                                                     
10939 ruby      20   0  179m 1884 1724 S    0  0.5   0:08.33 ruby                                                                                     
 4660 ruby      20   0  229m 1592 1440 S    0  0.4   2:55.46 ruby                                                                                     
 3879 nobody    20   0 37428  964  520 S    0  0.3   0:01.99 nginx 

Như bạn có thể thấy bộ nhớ của tôi được sử dụng khoảng 90% (đó là vấn đề của tôi) nhưng khi bạn thêm các giá trị% MEM, nó chỉ còn khoảng 50-60%. Điều tương tự, RES không thêm tối đa ~ 350mb. Tại sao? Tôi có hiểu nhầm ý nghĩa của chúng không?

Cảm ơn


Tôi nghĩ rằng top điều chỉnh số lượng hàng được hiển thị với kích thước hiển thị, vì vậy tất cả các quy trình có thể không hiển thị.
Samik

Câu trả lời:


6

Tôi đang cố gắng hiểu quá trình nào ăn nhiều bộ nhớ nhất.

Điều đó thật đơn giản: hồng ngọc !

khi bạn thêm các giá trị% MEM, nó chỉ còn khoảng 50-60%

Trên thực tế, việc thêm các cột như được hiển thị cho 69,2% .

  • Như Samik đã lưu ý, rằng chắc chắn không bao gồm tất cả các quá trình trên hệ thống của bạn - hãy thử pastebinning đầu ra của top -b -n 1để có được đầy đủ các đầu ra trong một tập tin và chia sẻ nó với chúng tôi để chúng tôi có thể giúp bạn tốt hơn.

  • Ngoài ra, kernel chiếm một lượng bộ nhớ và một số loại VPS (ví dụ Xen, KVM) sẽ dành một số bộ nhớ bổ sung khi khởi động để sử dụng nội bộ. Pastebin đầu ra của dmesgquá.

Để có số liệu tốt hơn và dễ sử dụng, tôi khuyên bạn nên sử dụng htopCài đặt htop thay vì trên cùng, với tùy chọn "Ẩn chủ đề người dùng" được bật:

nhập mô tả hình ảnh ở đây

Cũng nhìn vào memtop:

nhập mô tả hình ảnh ở đây


Đây là đầu ra đầy đủ hàng đầu: paste.ubfox.com/1055673 và dmesg: paste.ubfox.com/1055674 Sử dụng htop cho tôi một đầu ra khác! Tôi thấy ba trong số 22,4% quy trình MEM, trên thực tế, nhiều quy trình được sao chép (mysqld cũng vậy, nhiều lần). Trong mọi trường hợp, tôi thích đầu ra, cách dọn dẹp hơn ... Memtop cũng rất tuyệt, tôi có thể hiểu rõ hơn về ứng dụng ruby ​​nào của tôi đang ăn nhiều bộ nhớ nhất;)
ben

0

topLệnh linux hiển thị toàn rambộ bộ nhớ được sử dụng, không chỉ cho bạn, mà cả hệ thống. linux cachesmột số khu vực từ đĩa cứng của bạn để phát triển máy tính của bạn. bất kỳ màn hình mem khác nên sử dụng.

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.