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 МБ свободной памяти, и моя проблема связана с чем-то еще?
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.
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.
Вы можете использовать следующий сценарий, чтобы увидеть общее использование памяти отдельными приложениями в вашей системе GNU Linux
В Kubuntu я просто нажимаю Ctrl - Esc , а затем отсортируйте вещи, используя интересующее поле: Память, ЦП, ...
Это хороший вопрос, но информация показывает, что доступно много памяти. Однако вам следует следить за использованием памяти.
Мой любимый системный монитор - conky
, и отображение памяти является его частью:
Строка общего объема памяти показывает, что используется 2,5 ГиБ из 7,4 ГиБ.
Подробная строка памяти показывает:
Веб-контент
использует 7% памяти. Это подпрограмма Firefox. Firefox
сам использует 7% памяти ffmpeg
использует 3% памяти. Это .gif
рекордер peek
, который записывает видео, которое мы смотрим. Conky легко настраивается, и рабочий стол каждого человека выглядит по-разному. Вы можете погуглить conky
и получить 787 тысяч просмотров.
У меня возникла эта проблема при работе на машине 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
Ресурсы : Как узнать, какая программа использует слишком много памяти?
И все.
Надеюсь, это поможет