openSUSE 12.1 'free -m' и htop дают разные результаты
Модератор: Модераторы разделов
openSUSE 12.1 'free -m' и htop дают разные результаты
Доброго времени суток!
Как только установил openSUSE 12.1, обратил внимание, что в htop видно очень большое потребление памяти.
Аналогично htop результаты показывают и в SystemActivity от KDE, да и в System Monitor от Gnome.
Меж тем запуск "free -m" показывает результаты которые сильно ниже.
Сразу после перезагрузки результаты почти равны, но после активного использования, htop и остальные мониторы
показывают огромное потребление памяти. При парочке программ результат был около 3 Гб,
В то время как "free -m" показывал около 700 Мб.
Кто прав и кто виноват? И почему вообще есть различие?
Как только установил openSUSE 12.1, обратил внимание, что в htop видно очень большое потребление памяти.
Аналогично htop результаты показывают и в SystemActivity от KDE, да и в System Monitor от Gnome.
Меж тем запуск "free -m" показывает результаты которые сильно ниже.
Сразу после перезагрузки результаты почти равны, но после активного использования, htop и остальные мониторы
показывают огромное потребление памяти. При парочке программ результат был около 3 Гб,
В то время как "free -m" показывал около 700 Мб.
Кто прав и кто виноват? И почему вообще есть различие?
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
htop
free -m
Не новичковый вопрос.
free -m
Не новичковый вопрос.
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
[x] close
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Хорошо, если вы не знакомы с утилитой htop, приведу скриншот с другим типом отображения информации:
занято 1685 Мб
в кэше 1748 Мб (ну это не важно, пусть себе кэширует на здоровье)
Посмотрим результаты команды "free -m"
После вычетов всех кэшев и буферов имеем:
занято 920 Мб
в кэше 2366 Мб
Интересует именно это различие.
cat /proc/meminfo:
занято 1685 Мб
в кэше 1748 Мб (ну это не важно, пусть себе кэширует на здоровье)
Посмотрим результаты команды "free -m"
После вычетов всех кэшев и буферов имеем:
занято 920 Мб
в кэше 2366 Мб
Интересует именно это различие.
cat /proc/meminfo:
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Вроде как для двух программ расчет ведется по формуле: used = MemTotal - MemFree - Buffers - Cached
однако значение cached для free явно завышено... и судя по всему, именно на беспокоящую вас величину ;-)
а что нам скажет
однако значение cached для free явно завышено... и судя по всему, именно на беспокоящую вас величину ;-)
а что нам скажет
Код: Выделить всё
$vmstat -S m
[x] close
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
На всех опробованных дистрибутивах: gentoo, arch, debian .buntu, fedora обе программы выдают одинаковое количество потребляемой памяти.
Что и для кого завышено -- это еще вопрос.
вот результат вывода vmstat -S -m
Что и для кого завышено -- это еще вопрос.
вот результат вывода vmstat -S -m
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
как бэ не вопрос... ибо все они читают /proc/meminfo ;-)
uptime тоже в два дня?
[x] close
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
и по несколько недель было.
Здесь разница есть даже сразу после загрузки системы. Пусть мегабайт 50-100 разницы, но все же она есть.
С течением времени показатель занятой памяти в htop и System Monitor только растет.
Запустить, закрыть несколько программ -- показатель htop увеличился, А free вернулся на прежнее значение.
Только что установил, и впервые запустил. И был мягко говоря поражен!
За время его выполнения показатель занятой памяти в htop снизился на 250мб, при простое системы.
Показания free остались в пределах погрешности.
UPD
время идет, htop понемногу снижет свои показатели, А free остается верен себе=)))
Здесь разница есть даже сразу после загрузки системы. Пусть мегабайт 50-100 разницы, но все же она есть.
С течением времени показатель занятой памяти в htop и System Monitor только растет.
Запустить, закрыть несколько программ -- показатель htop увеличился, А free вернулся на прежнее значение.
Только что установил, и впервые запустил
Код: Выделить всё
prelink -afvmR
За время его выполнения показатель занятой памяти в htop снизился на 250мб, при простое системы.
Показания free остались в пределах погрешности.
UPD
время идет, htop понемногу снижет свои показатели, А free остается верен себе=)))
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Сейчас опробовал разные варианты.
Установка пакетов через zypper привела к повышению занимаемой памяти согласно htop на 800мб,
в то время как free показал увеличение только на 50мб.
Более того, после завершения установки, free снизил показания 50мб обратно,
а вот htop все еще в плюсе на 800мб и снижать не собирается=)))
Установка пакетов через zypper привела к повышению занимаемой памяти согласно htop на 800мб,
в то время как free показал увеличение только на 50мб.
Более того, после завершения установки, free снизил показания 50мб обратно,
а вот htop все еще в плюсе на 800мб и снижать не собирается=)))
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Предлагаю помониторить статистику во время ваших экспериментов:
1. htop (Memory Meters -> Text)
2. free -k -s 1
3. while : ;do sleep 1; head -n 4 /proc/meminfo; done
п. 3 является опорным
P.S.
неплохо бы
1. htop (Memory Meters -> Text)
2. free -k -s 1
3. while : ;do sleep 1; head -n 4 /proc/meminfo; done
п. 3 является опорным
P.S.
неплохо бы
Код: Выделить всё
$htop -v
$free -V
[x] close
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Сегодня еще раз проверку устроил.
Согласно htop использование памяти начинает расти как только zypper завершает свою работу.
Было 1350мб, во время установки пакета ibus прыгало от 1400 до 1450.
При завершении установки с 1450 до 1400 опустилось,
НО уже через сукунду стало на 100мб в секунду увеличиваться и сейчас составляет 2050мб.
Что касается free, то до начала установки было 800мб, в процессе установки было 850мб +/- 10мб (немного менялось).
При завершении установки опустилось до 800мб и на том уровне и осталось.
так и включено
запустил тест. По ним 1 и 3 пункты выдают одинаковую статистику по закешированной памяти.
Если в 3 пункте из общей вычесть свободную и закешированную, то получится результат тот же что и в htop.
Т.е. сейчас это 2000мб занятой памяти.
Суть в том, что если просуммировать память указанную в столбце RES (т.е. включая общие библиотеки), то величина будет порядка 1100мб, что в 2 раза ниже, чем в верхней строчке.
Если просуммировать разницу между RES и SHR, то получится величина около 700мб
Согласно htop использование памяти начинает расти как только zypper завершает свою работу.
Было 1350мб, во время установки пакета ibus прыгало от 1400 до 1450.
При завершении установки с 1450 до 1400 опустилось,
НО уже через сукунду стало на 100мб в секунду увеличиваться и сейчас составляет 2050мб.
Что касается free, то до начала установки было 800мб, в процессе установки было 850мб +/- 10мб (немного менялось).
При завершении установки опустилось до 800мб и на том уровне и осталось.
Код: Выделить всё
htop -v
htop 0.9 - (C) 2004-2010 Hisham Muhammad
Released under the GNU GPL.
Код: Выделить всё
free -V
procps version 3.2.8
так и включено
запустил тест. По ним 1 и 3 пункты выдают одинаковую статистику по закешированной памяти.
Если в 3 пункте из общей вычесть свободную и закешированную, то получится результат тот же что и в htop.
Т.е. сейчас это 2000мб занятой памяти.
Суть в том, что если просуммировать память указанную в столбце RES (т.е. включая общие библиотеки), то величина будет порядка 1100мб, что в 2 раза ниже, чем в верхней строчке.
Если просуммировать разницу между RES и SHR, то получится величина около 700мб
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Запустил
Код: Выделить всё
prelink -avfmR
И по трем консолям наблюдал вывод из предложенный трех пунктов.
Как уже было сказано, 1 и 3 дают идентичные результаты:
из занятых 2000мб:
100мб было переведено в свободную (согласно пункту 3) т.е. со 150мб до 250мб,
еще 600мб было переведено в закешированную (т.е. с 1750мб до 2350мб)
Итого после операции прелинка, было ""освобождено"" 700мб,
т.е. с 2050мб до 1350мб (столько было до начала установки)
В то же время показания согласно пункту 2 были следующими:
до начала прелинка 850мб занято, 150мб свободно, 3100мб зашешировано
после окончания: 850мб занято, 250мб сводобно, 3000мб закешировано.
(в процессе выполнения, использование памяти доходило до 870мб)
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Возможно, косяк где-то тут. Голова туго работает, чтобы вникать, на первый взгляд ошибок не нашёл...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
может это и оно. По крайней мере по коду видно что строчки по вычислению памяти и кешей подправлены.
Только вот как это соотнести с моей системой? Установить выборочное обновление для этого пакета из Factory репозитория?
Только вот как это соотнести с моей системой? Установить выборочное обновление для этого пакета из Factory репозитория?
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Неделю назад переставил систему.
На этот раз вместо btrfs выбрал ext4.
В итоге разница между показаниями free и htop составляет порядка 100мб (uptime 4 дня).
Т.о. можно сделать вывод, что во всем виноваты btrfs и snapper.
На этот раз вместо btrfs выбрал ext4.
В итоге разница между показаниями free и htop составляет порядка 100мб (uptime 4 дня).
Т.о. можно сделать вывод, что во всем виноваты btrfs и snapper.
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
Проблема снова актуальна.
разница показателей порядка 500Мб.
разница показателей порядка 500Мб.
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
В openSUSE параметр cached учитывает SReclaimable, NFS_Unstable и SwapCached из /proc/meminfo. В моём случае разность обеспечивает SReclaimable.
PS извините за небольшой некропостинг
PS извините за небольшой некропостинг
Re: openSUSE 12.1 'free -m' и htop дают разные результаты
NickLion
И в итоге получаем неверное значение занятой памяти через все программы кроме free.
Кажется что память вот-вот закончится, хотя все приложения закрыты.
Собственно это была одна из причин по которой ушел с openSUSE.
Хотя само по себе потребление памяти одно их лучших в линуксе.
И в итоге получаем неверное значение занятой памяти через все программы кроме free.
Кажется что память вот-вот закончится, хотя все приложения закрыты.
Собственно это была одна из причин по которой ушел с openSUSE.
Хотя само по себе потребление памяти одно их лучших в линуксе.
Ubuntu-->Debian-->Gentoo-->openSUSE-> Mac OS X