Что ты имеешь в нижней части бака? (пришлось просить) @bmike & @FallenNicolae я проверил функцию WDS (я совершенно невежественный в сети) и бродяжничать, если он будет лучше (и в каких аспектах), чтобы заменить мой Plc для третьей базовой станции я бы поставил в коридоре, чтобы сохранить непрерывный сигнал. Имея только одну в коридоре, а не в спальне будет хорошо на стороне, но тогда я потеряю возможность играть музыку с моего NAS в систему моя спальня патефон. Какие бы блага потом по 1 капсуле и 2 базовых станций над решением ПЛК, описанная выше? Вы, возможно, захотите, чтобы заменить `Эхо "$0"` С `Е "%ы" "$0"` чтобы избежать проблем с именами файлов, начинающихся с тире или содержащие Escape-символом. @BillK - это, как я узнал в Unix. Я думаю, что это разные штрихи для разных людей, но если бы вы спросили большинство людей здесь, которые изучали Unix, man-страницы, где вы *можете* узнать, как делать вещи, если вы не торопитесь, чтобы прочитать их. С появлением интернета эти документы + поиск ответит на любой вопрос вы можете забеременеть! Если вы тип человека человека вы можете узнать, как man-страницы на самом деле организована таким образом, вы можете избежать системного вызова и близких!

Вы смотрели на список процессов и их использования памяти. Но там была проблема. Вы не смотрите на полный список.

гном-систем-монитор показывает только "мои процессы" по умолчанию. Чтобы увидеть процессы, принадлежащие всем пользователям системы, в том числе корневого пользователя, щелкните значок меню в правом верхнем углу (три точки в вертикальную линию). Выберите "Мои процессы" на "все процессы".


  1. Использованный В. С. доступной системной памяти, как одно число
  2. Анализируя файла /proc/meminfo
  3. Другие инструменты можно использовать - установить на сегодня 8-)

1. Использованный В. С. доступной системной памяти, как одно число

Я вижу ваш код на Ruby вычитает MemAvailable от используется параметр memtotal. Это точно такой же расчет, используемый гном-систем-монитор, когда он показывает в системе "1.5 гиб (41,4%) из 3.7 гиб".

Вы правы, использовать гном-систем-монитор или ручного расчета, по крайней мере в первом приближении. В MemAvailable число входят в основном все исправимых "кэш". Т. е. MemAvailable включает в себя типа "кэш", что "доступно", чтобы быть возвращены, как только программа требует больше памяти чем у вас есть свободное.

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

Еще один способ быстро проверить "доступно" - это свободный час.

В свободных команда также показывает "общий", подкачки использования и т. д. Ваша система документации должны быть указаны выходные поля и доступные функции, т. е. в человека свободного. Некоторые другие поля можно вводить в заблуждение:

  • "Используется" поле в свободной команды (в настоящее время) не включает в себя "общие". Это может быть очень запутанной. Игнорировать "используется поле" .
  • В "кэшированные" значение на бесплатной страдает от проблемы, упомянутые выше.
  • Если бесплатно не показывают "доступное", ваша система древних. Проконсультируйтесь с древних документации.

2. Анализируя файла /proc/meminfo

Спасибо за полный вывод кошка /proc/meminfo. Это часто помогает найти конкретные ответы (или ответ). Если Вы хотел посмотреть как MemAvailable рассчитывается самостоятельно, вы можете прочитать в первой части моего ответа здесь: это "сохраненная копия" памяти де-факто бесплатно?

AnonPages

В вашем примере meminfo, у вас есть AnonPages: 924844 КБ (0.9 ГБ). AnonPages является одним из условий, что снижает MemAvailable.

Когда AnonPages растет, то следует указать увеличение "РЭС", или "РСС" ("резидент" в памяти "установить размер") из некоторого количества запущенных программ. А RSS можно ввести в заблуждение, потому что некоторые разделяемой памятью:

Вы не можете добавить вверх RSS, поскольку это приведет к двойному подсчету общей памяти. Вы должны добавить вверх ПСС, пропорциональной RSS после учета обмена. В smem команда может показать ПСС, а также вычисления итогов. Например:

  • судо smem -т > п; руководитель -N1 п; Эхо; хвост -н17 п - посмотреть на процесс памяти. В хвостовой части будет показывать топ-15 процессов, за которыми следует строка с общей ПСС и т. д.
  • smem -Т -У ^sourcejedi$ > Щ; руководитель -У1 у; Эхо; хвоста -от 17 у - Посмотри в памяти процессов, принадлежащих пользователю, "sourcejedi".
  • судо smem -т-щ - посмотри на память, сгруппированных по пользователю. Это может быть полезно, чтобы отличить ваш сеанса(ов), из некоторых системных демонов, которые выполняются как собственных пользователей. Е. Г. packagekitd работает в качестве корневого пользователя, и могут использовать сотни мегабайт.
  • smem -Т-П и Firefox - смотрите на памяти моего веб-браузера :-).
  • судо smem -т-м > м; зав -Н5 М; эхо; хвост м - посмотри на память, сгруппированные по отображение имя - имя кэшированный файл, или "<аноним>" или "[кучи]".

    Процесс "резидент" памяти включает в себя как "анонимно" памяти, и некоторые кэшированные файлы. smem -м не может показать все кэшированные файлы, только определенные типы файлов, которые используются в настоящее время. В частности, файлы программ, которые отображены в виртуальной памяти. Это включает в себя код программы, библиотеки кода и файлов с помощью функции mmap().

Shmem

У вас также есть Shmem: 374848 КБ (0.4 ГБ). Я упомянул Shmem / "общий" выше. Это еще один термин, который уменьшает "доступной" памяти. (Это не подлежит зачету кэша). Это вполне нормально, но вы можете попробовать, чтобы увидеть, что это такое.

Некоторые общая память видна как память индивидуальных процессов. Если разделяемой памяти на процесс, то она должна быть учтена в RSS / ПСС. См. выше. В "сопоставление имен" может иногда быть полезным (например, smem -т-м).

Shmem включает в себя файлы на монтируется файловая система tmpfs. Вы можете проверить все монтируется файловая система tmpfs , используя ДФ -Т файловая система tmpfs.

В зависимости от вашей системы, Shmem может включать в себя некоторые графические буферы. Я нашел способ, чтобы проверить их текущий размер на моей системе (Intel графики): можно посмотреть количество памяти, которое выделяется как жемчужина буферов? Я хотел бы знать, если вы найти другой способ, чтобы проверить вашу систему!

Я читал, что Shmem утечки памяти в некоторых других графических драйверов могут быть связаны с очень большими Вирт (он же размер V) для xorg. Linux, используя весь своп, становятся неприветливыми, а есть много свободной оперативной памяти

Другое использование памяти?

  • Используется параметр memtotal - MemAvailable = 1796088 КБ (1,8 ГБ)
  • AnonPages: 924844 КБ (0.9 ГБ)
  • Shmem: 374848 КБ (0.4 ГБ)

Оставшиеся 0,5 ГБ, можно увидеть несколько небольших использует под 0,1 ГБ в целом. Ядро также оставляет за собой несколько процентных пунктов маржи для себя (см. "низкий водяной знак"), но я думаю, что это будет 0.2 ГБ или меньше на вашей системе. Так что есть немного более Использование, что я не уверен.

Памяти сляба ядра

"Unreclaimable плиты" памяти является еще одним условиям, что снижает MemAvailable. Вы не очень много: SUnreclaim: 55044 КБ (0.05 ГБ).

Вы также можете запустить slabtop, чтобы увидеть список слябов. AFAICT, slabtop не дает статистику по слябов зачету или unreclaimable. Но я обычно могу угадать, и если есть какие-то подозрительные плиты, я думаю, вы можете посмотреть его по имени.

3. Другие инструменты можно использовать - установить на сегодня 8-)

smem может быть излишеством. Иногда, все, что вам нужно-это верхнее, или ваши любимые альтернативные, и знать, как Сортировать по резидентной памяти. (Хотя гном-систем-монитор может не быть хорошим выбором для этого. Я думаю, что это на самом деле не хватает шоу).

Иногда, когда у вас есть проблемы с производительностью, вы должны смотреть на диск читает, а не пишет. Вы можете использовать команду sudo надо.

Иногда, вы хотели бы получить отчет на процесс использования памяти, так что вы можете посмотреть, почему вы выбежали из памяти и замедляют систему в обход...

на это отличный маленький инструмент, который может сделать все выше. Если это кажется полезным, я предлагаю вам установить его сразу же. Тогда вы можете узнать об этом, когда вам это нужно :-).

на вершине судо-Р показывает "то psize" (такое же значение, как "ПСС"). На вершине пакет включает в себя фоновый сервис, который работает на десяти минутный интервал. Можно использовать поверх -р ... для открытия файлов журнала, которые хранятся в /var/журнал/АТОР/.