2013-08-06 2 views
0

Я занимаюсь серфингом в Интернете около 1 недели, и все, что я нашел, это: «CentOS знает, как использовать баран, не волнуйтесь», но я действительно думаю, что это это проблема.
У меня есть виртуальная машина с недавней/чистой установкой финала CentOS 6.4 X86_64 с 1,5 ГБ оперативной памяти, 1 процессор/4 ядра и 700 МБ SWAP, и проблема заключается в потреблении памяти.
Я установил postgresql, pgadmin3, JRE 7.25 (не JDK или OpenJDK), netbeans 7.3.1 и apache, но большую часть времени (99%) Мне нужно только открыть NB и firefox одновременно и, очевидно, службы httpd и pgsql ,
Ну, когда я открываю netbeans, он использует 300Mb - 350MB и Firefox 100MB - 150MB, а исходная память, используемая системой, составляет около 250MB, поэтому есть 750MB, а системный монитор и команда free -m подтверждает это, но в течение нескольких минут система ест всю мою свободную память и начинает использовать 100 МБ - 200 МБ SWAP И это действительно реально SssLOOOWWW .. Я разрабатываю простой сайт PHP/JS/HTML.

Когда система съедает всю мою память и подкачку, то бесплатно -m возвращает команда это:CentOS 6.4 X86_64 Использует слишком много ОЗУ и SWAP

free -m 
     total used  free shared buffers cached 
Mem: 1511532 1477256 34276  0  18652  89325 
-/+ b../c..: 1369279 142253 
Swap: 711320 198652 512668 

Я знаю, фактический объем свободной памяти составляет около 140MB, но:

  • Это является много памяти и система очень медленно
  • Если я закрываю NB и FF, я получаю только половину памяти, используемой как выпущенными (250MB)
  • SWA P никогда не отпускается (только при перезагрузке)
  • если я открываю FF и NB снова, он снова потребляет 250 МБ и ДАЖЕ БОЛЬШЕ SWAP !!!

I`ve попытался это:

  • Я изменил значение Swappiness от 60 до 5, а на самом деле система Безразлично `использовать своп, пока он не получает 95% от используемой оперативной памяти.
  • Я отключил ненужные программы при запуске, такие как bluetooth mgr, mail, login sound, energy mngr (это настольный компьютер).
  • Я установил JVM максимальный размер кучи до 256 МБ и на самом деле между Java/NetBeans (Virtual + разделяемой) = фактический объем памяти, используемый никогда> 400MB
  • Если проверить сервис обслуживания (включая многократным HTTPD и PGSQL подсервисы) используемая память не более 750 МБ
  • Я должен сказать, что когда я тестирую тот же сайт в Win 7/WAMP, память, используемая службами Netbeans, PGAdmin3, Firefox и posgres, почти такая же, как и в centOS (500 МБ) и с исходной памятью, используемой системой (900 МБ), общая используемая память составляет 1400 МБ, и она не изменяется, так что это не ошибка программирования.
  • Наконец, я переустановил CentOS и проблема сохраняется

ответ

0

Как я уже сказал, я переустановил CentOS x64, и проблема с памятью сохраняется, поэтому у меня есть теория для моего собственного конкретного случая и из моего собственного опыта.
Если вы не полностью уверены, что ваши программы/приложения рассчитаны на 64 бит, вам лучше установить 32-битную CentOS EVEN FOR AMD X64.
Мой случай:

  • AMD Athlon X4 640 Процессор (64-битный)
  • VMware 7
  • процессор 1/4 ядра, 1,5 ГБ ОЗУ
  • CentOS 6.4 32bit
  • апаша (httpd)
  • Php 5.3.3
  • Postgresql (сервер, клиент, вно, libpq)
  • pgAdmin III
  • Firefox 17 ESR (CentOS браузер по умолчанию) с поджигатель и ColorZilla расширений
  • Opera (Последний релиз)
  • JRE 7,25 (только для NetBeans для работы - Скачал с Oracle не OpenJDK)
  • Netbeans 7.3.1 (PHP - HTML5)

Теперь я открыл pgadmin , netbeans (с 10 активными вкладками) и firefox, а свободная память (150 + MB бесплатно + 20 + MB буферов + 200 + MB кэширована), и если мне нужно больше памяти, когда я открываю опера или любую другую программу, некоторые из кэшированной памяти выпущен, КАК ЭТО ДОЛЖНО СДЕЛАТЬ. oh, а использование SWAP - 0.00000000, что, как вы знаете, может быть действительно полезно, но если вы используете программу, загруженную в swap (полностью или частично), она по меньшей мере в 10 раз медленнее, чем программа, загруженная в ОЗУ.

0

Если вы посмотрите на свою память, используя «HTOP» вы увидите, что бар памяти имеет 3-х цветов. Я бы предположил, что большая часть используемой памяти является желтой в вашем случае.

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

Это никогда не было причиной замедления для меня.

У меня есть опыт использования firefox памяти, когда вы продолжаете использовать.

Возможно, это проблема с виртуализацией. Какая у вас хост-сервер и какая платформа виртуализации вы используете?

Смежные вопросы