Как Вы узнаете, какая программа использует слишком много памяти?

Ubuntu отказывала на мне недавно. Я думаю, потому что это исчерпывает память, таким образом, я работал free -m управляйте и найденный, что мое использование памяти было действительно высоко. Таким образом я работал top для нахождения преступника, но отображенных процессов использовали меньше чем 1,5% памяти. Как я знаю, какая программа заставляет человечность отказать/исчерпать память? Ниже вывод:

shafee@shafee-pc:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          3824       3714        110          0        978       1954
-/+ buffers/cache:        780       3044
Swap:           99          0         99

shafee@shafee-pc:~$ top
top - 02:12:14 up  1:24,  2 users,  load average: 0.16, 0.42, 1.49
Tasks: 182 total,   1 running, 181 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.9%us,  1.9%sy,  0.3%ni, 79.3%id, 15.5%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   3916708k total,  3803848k used,   112860k free,  1002308k buffers
Swap:   102396k total,        0k used,   102396k free,  2001852k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4200 root      20   0  289m  53m  38m S    2  1.4   1:06.45 Xorg               
 5590 shafee    20   0 19348 1368  956 R    2  0.0   0:00.01 top                
    1 root      20   0 24124 2136 1264 S    0  0.1   0:02.05 init               
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S    0  0.0   0:24.23 ksoftirqd/0        
    6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1        
    9 root      20   0     0    0    0 S    0  0.0   0:00.11 ksoftirqd/1        
   11 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/2        
   13 root      20   0     0    0    0 S    0  0.0   0:03.89 ksoftirqd/2        
   14 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/3        
   16 root      20   0     0    0    0 S    0  0.0   0:00.16 ksoftirqd/3        
   17 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset             
   18 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper            
   19 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns              
   21 root      20   0     0    0    0 S    0  0.0   0:00.01 sync_supers        
shafee@shafee-pc:~$

Или действительно ли нормально иметь 110 МБ свободной памяти, и моя проблема связана с чем-то еще?

66
задан 8 May 2018 в 11:13

6 ответов

Bạn đang đọc đầu ra của miễn phí không chính xác. Nhân Linux thực hiện rất nhiều việc quản lý bộ nhớ của riêng nó, đến lượt nó phân bổ nhiều hơn mức thực tế cần - vì vậy lượng "Bộ nhớ trống" thực sự của bạn là 3044 nằm trong cột "Miễn phí" của +/- Dòng đệm / bộ nhớ đệm , khiến chỉ 780 MB thực sự được tiêu thụ.

Theo mặc định top sẽ sắp xếp dựa trên mức tiêu thụ CPU. Bạn có thể nhấn Shift + M để sắp xếp theo phần trăm bộ nhớ được sử dụng - giúp bạn nắm rõ hơn phần mềm nào đang sử dụng bộ nhớ được phân bổ cho hạt nhân.


free -m
             total       used       free     shared    buffers     cached
Mem:          7873       3916       3956          0        231       1117
-/+ buffers/cache:       2567       5305
Swap:        12401          0      12401

Và ở trên cùng bộ nhớ được sắp xếp:

top - 17:05:18 up 2 days,  1:40,  4 users,  load average: 0.21, 0.14, 0.11
Tasks: 237 total,   1 running, 234 sleeping,   0 stopped,   2 zombie
Cpu(s):  1.6%us,  0.8%sy,  0.1%ni, 96.7%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8062420k total,  4013632k used,  4048788k free,   237204k buffers
Swap: 12699644k total,      292k used, 12699352k free,  1144752k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                          
 1632 root      20   0  884m 240m 6532 S    0  3.1   1:20.17 java                                                                                                                                                                             
 3911 marco     20   0 1011m 165m  22m S    0  2.1   9:20.62 chrome                                                                                                                                                                           
 3852 marco     20   0  770m 162m  45m S    0  2.1  14:59.59 chrome                                                                                                                                                                           
 1091 root      20   0  491m 160m 118m S    3  2.0  29:19.44 Xorg                                                                                                                                                                             
 1747 marco     20   0  659m 108m  34m S    1  1.4  18:43.92 compiz                                                                                                                                                                           
 3964 marco     20   0 1113m  99m  21m S    0  1.3  18:51.88 chrome                                                                                                                                                                           
 1759 marco     20   0  668m  94m  21m S    0  1.2   2:27.42 nautilus                                                                                                                                                                         
 3046 marco     20   0  788m  86m  26m S    0  1.1   1:22.96 evolution                                                                                                                                                                        
 1793 marco     20   0  647m  85m  18m S    0  1.1   0:12.74 shutter                                                                                                                                                                          
 1791 marco     20   0  404m  85m  13m S    0  1.1   5:19.51 bitcoin                                                                                                                                                                          
 2938 marco     20   0  809m  78m  31m S    0  1.0   1:01.07 empathy                                                                                                                                                                          
 9630 marco     20   0  265m  73m  19m S    1  0.9  12:41.52 skype                                                                                                                                                                            
 9618 marco     20   0  914m  64m  21m S    0  0.8   1:14.04 chrome                                                                                                                                                                           
 1777 marco     20   0  432m  64m  14m S    0  0.8   1:45.96 pastie

Cuối cùng để giúp bạn chẩn đoán phần mềm thực sự là gì, hãy thử chuyển cờ -c lên đầu: top -c vì điều đó sẽ cung cấp cho bạn đường dẫn đầy đủ, tên và các tham số của lệnh đang chạy.

77
ответ дан 22 November 2019 в 23:42

Bạn có thể khởi động ứng dụng gnome-system-monitor Tốt nhất là bạn nên tìm ra bao nhiêu ram được sử dụng bởi những ứng dụng nào, cũng như bao nhiêu cpu cũng được sử dụng. Bạn có thể thay đổi mức độ ưu tiên của một quy trình để chạy nhanh hơn, ví dụ: nếu bạn muốn chuyển đổi video, v.v.

3
ответ дан 22 November 2019 в 23:42

Вы можете использовать следующий сценарий, чтобы увидеть общее использование памяти отдельными приложениями в вашей системе GNU Linux

http://www.zyxware.com/articles/4446/show-total-memory-usage-by -each-application-in-your-ubuntu-or-any-gnu-linux-system

5
ответ дан 22 November 2019 в 23:42

В Kubuntu я просто нажимаю Ctrl - Esc , а затем отсортируйте вещи, используя интересующее поле: Память, ЦП, ...

enter image description here

1
ответ дан 22 November 2019 в 23:42

Это хороший вопрос, но информация показывает, что доступно много памяти. Однако вам следует следить за использованием памяти.

Мой любимый системный монитор - conky , и отображение памяти является его частью:

Conky.gif

Строка общего объема памяти показывает, что используется 2,5 ГиБ из 7,4 ГиБ.

Подробная строка памяти показывает:

  • Веб-контент использует 7% памяти. Это подпрограмма Firefox.
  • Firefox сам использует 7% памяти
  • ffmpeg использует 3% памяти. Это .gif рекордер peek , который записывает видео, которое мы смотрим.

Conky легко настраивается, и рабочий стол каждого человека выглядит по-разному. Вы можете погуглить conky и получить 787 тысяч просмотров.

1
ответ дан 22 November 2019 в 23:42

У меня возникла эта проблема при работе на машине Ubuntu 20.04.

Позвольте мне добавить свои 2 цента к этому вопросу :

Ваша фактическая свободная / нераспределенная память составляет 110 МБ

буфер / кеш / выделено ] память, равная 3044, на самом деле свободная память, но она уже выделена.

Вот что происходит. По мере того, как вы используете на своем портативном компьютере больше приложений, ваш буфер / кэш / выделенная память увеличивается за счет выделения большего объема памяти специально для этих приложений. Эта память увеличивается, чтобы вы могли легко получить доступ к этим приложениям в памяти, что увеличивает производительность.

Однако новым приложениям, возможно, теперь придется бороться с оставшейся свободной / нераспределенной памятью, потому что буфер / кэш / выделенная память, даже если они свободны, они уже были выделенный для некоторого набора приложений, которые вы в настоящее время используете.

Я нашел в Интернете сценарий, который помогает освободить буфер / кэш / выделенную память для использования другими приложениями без перезапуска компьютера. Возможно, вам придется запускать сценарий один раз в день / неделю.

free -h && sudo sysctl -w vm.drop_caches=3 && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -h

Ресурсы : Как узнать, какая программа использует слишком много памяти?

И все.

Надеюсь, это поможет

0
ответ дан 2 April 2021 в 01:49

Другие вопросы по тегам:

Похожие вопросы: