Я использую оперативную память для хранения некоторых из моих таблиц базы данных, а другие хранятся на жестком диске.
Сегодня я узнал, что мои процессы используют память подкачки. Теперь, что такое подкачка памяти и как я могу определить, какой процесс использует память подкачки, и как я могу остановить их использование?
Ответы:
Если у вас заканчивается физическая память, вы используете виртуальную память, которая хранит данные в памяти на диске. Чтение с диска на несколько порядков медленнее, чем чтение из памяти, поэтому все замедляется. (Обмен данными между реальной памятью и виртуальной памятью является «обменом». Пространство на диске - это «пространство подкачки».)
Если ваше приложение «использует обмен», то вам нужно либо использовать меньше памяти, либо покупать больше оперативной памяти.
(Поменять местами полезно, поскольку неиспользуемые приложения могут храниться на диске до тех пор, пока они не будут использованы. Затем их можно «выгружать» и снова запускать в обычном режиме. Однако, пока он не находится в памяти, ОС может использовать эту память для чего-то другого, например кеша диска. Так что это очень полезная функция, но если у вас недостаточно физической памяти для запуска вашей программы, вам определенно нужно больше памяти. К счастью, в наши дни память действительно очень дешевая.)
источник
Компьютер имеет определенное количество физической памяти. Но большую часть времени мы хотим большего. Итак, мы поменяем память на диске.
Каждый раз, когда нам нужна эта память, ее необходимо вернуть обратно в память (обменять какую-то другую часть). Существуют чрезвычайно интеллектуальные алгоритмы, позволяющие минимизировать задержку, но иногда нам приходится ждать.
В окнах, если вы посмотрите на диспетчер задач, вы можете показать ошибки на странице столбца. Это показывает количество времени, в течение которого приложение запрашивает часть памяти, которая была на диске и должна быть заменена. Много ошибок страницы = медленное приложение.
Этот процесс используется на нескольких уровнях. Сводка от быстрой до медленной:
источник
Если вы не хотите использовать swap, то не используйте раздел подкачки (закомментируйте строку в нем
/etc/fstab
), но это помешает запустить новый процесс и приведет к сбою malloc, если у вас закончится физическая память. В общем, это не очень хорошая идея ... не очень безопасная и даже не очень полезная, поскольку ОС будет хранить горячие страницы в памяти и заменять те, которые в последнее время не использовались, на диск.Другим решением может быть взлом вашей базы данных, чтобы она блокировала страницы в памяти (я знаю, что это можно сделать, но я не могу сейчас точно сказать, как это сделать), но в любом случае, похоже, что ваша база данных будет использовать свою собственную подкачку и механизмы кеширования.
Чтобы узнать, что такое подкачка и как работает виртуальная память ... Я бы порекомендовал вам взглянуть на некоторые лекции по операционной системе, может быть, MIT Open Courseware может помочь.
источник
Я нашел частично ответ. Память подкачки - это пространство на жестком диске вашего компьютера, которое операционные системы будут использовать для помещения информации, находящейся в оперативной памяти, чтобы освободить ее для другого приложения. Это следует делать, когда системе требуется память для нового процесса, а ее нет, поэтому мы можем видеть, что если в нашей системе достаточно ОЗУ, ей, возможно, не понадобится память SWAP.
ОБНОВИТЬ
Чтобы узнать, где находится пространство подкачки (или виртуальная память), вы можете перейти к диспетчеру задач (CTRL + ALT + DEL) и включить из меню ПРОСМОТР -> КОЛОННЫ -> ВИРТУАЛЬНАЯ ПАМЯТЬ. Теперь просто посчитайте разницу между использованием памяти и виртуальной памятью. Также есть инструкция, как это увидеть, если вы работаете в Vista: http://www.ehow.com/how_5067693_increase-swap-space.html
источник
Swap - это пространство на жестком диске, используемое в качестве оперативной памяти Он (условно говоря) очень медленный, но предотвращает сбои компьютеров, когда они пытаются обработать больше данных, чем может обработать их ОЗУ.
Чтобы запретить процессам использовать swap - установите больше оперативной памяти.
источник
Если вы не хотите, чтобы ваши процессы использовали swap-memory, просто полностью отключите swap-память. К сожалению, если вам когда-нибудь не хватит памяти, ядро Linux убьет некоторые из ваших запущенных процессов, чтобы освободить часть памяти для использования.
Если у вас достаточно оперативной памяти для вашей системы, вы можете обойтись без подкачки памяти.
У меня есть ноутбук с 768 МБ оперативной памяти, который не использует подкачки памяти. Это достаточно хорошо для моих нужд. У меня есть сервер с 256 МБ оперативной памяти и не использует память подкачки. Он работает на 8 виртуальных серверах, используя виртуализацию OpenVZ, также без проблем.
Таким образом, это зависит от вас, если вам нужна своп-память.
источник