Что такое своп и зачем он вам

Что такое своп и зачем он вам

Как расширить оперативную память за счёт жёсткого диска

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

У компьютера есть два вида памяти:

  • Оперативная — чтобы процессор мог быстро обработать данные от запущенных программ.
  • И постоянная — в ней хранятся наши программы, данные, служебные файлы и всё остальное, что есть на компьютере. Это жёсткие диски, накопители SSD и флеш-память.

Оперативная память быстрая, но дорогая, поэтому её во много раз меньше. Для сравнения: в обычном офисном ноутбуке 2022 года установлено 8 гигабайт оперативной памяти и 256 гигабайт постоянной. 

При запуске очередной программы компьютеру нужно, чтобы и программа, и её данные оказались в оперативной памяти. Но часто бывает так, что оперативной памяти на всё не хватает, потому что кроме программ в ней находятся другие нужные компьютеру штуки:

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

Чтобы решить эту проблему, когда оперативной памяти не хватает, а быстрый доступ к данным всё равно нужен, придумали своп.

Что такое своп

Своп (его ещё называют «файл подкачки») — это специальный файл на жёстком диске, в котором хранятся данные для быстрого доступа системы. Это как бы продолжение оперативной памяти. 

Работает своп так:

  1. Система создаёт на диске один большой файл, к которому быстрее всего можно получить доступ.
  2. В этот файл выгружаются те данные из оперативной памяти, которые сейчас пока не нужны. Например, программа давно висит в фоне и с ней никто не работает.
  3. Как только компьютер увидит, что с программой снова активно работают, он загружает обратно в оперативную память её данные из свопа.
  4. Параллельно с этим компьютер смотрит, что пока можно отправить в своп, чтобы не забивать полностью оперативную память.

Почему у меня на диске большой своп, если в оперативной памяти ещё много места?

Компьютер всегда оставляет некоторый запас свободной оперативной памяти на тот случай, если понадобится без задержек обработать какие-то данные: новую запущенную программу или служебные файлы. Поэтому система складывает данные в своп, даже если есть место для этого в оперативной памяти.

Вот пример с ноутбука, на котором пишется эта статья: видно, что физически доступно примерно 2 гигабайта оперативной памяти, и можно было бы уменьшить своп — использовать не 2,23 гигабайта, а 0,4. Но система оставила небольшой запас памяти — благодаря этому новые программы будут загружаться быстро и не ждать, пока компьютер очистит для них память.

Что такое своп и зачем он вам

Если своп — это файл, то можно ли его удалить?

Технически — да, но система просто не даст это сделать. Дело в том, что своп — это системный файл, и у пользователя просто не будет нужных прав доступа, чтобы его удалить. 

Если загрузиться с флешки, зайти на жёсткий диск компьютера и удалить своп, то при следующем нормальном запуске система создаст его снова. Единственный способ избавиться от свопа — отключить его в настройках системы, но чаще всего ничего хорошего из этого не выйдет.

Можно ли обойтись вообще без свопа

Можно, но это приведёт к тому, что после запуска двух-трёх программ компьютер начнёт тормозить — у него не будет свободных ресурсов для плавной работы и быстрого переключения между программами. 

Единственный вариант, когда можно поработать без свопа, — если в компьютере стоит очень много оперативной памяти, 32 гигабайта и выше. Но даже с такими объёмами памяти в некоторых областях без свопа не обойтись. Дело в том, что для программирования нейросетей, разработки сложных приложений или для работы с трёхмерной графикой могут легко понадобиться 128 гигабайт оперативной памяти или даже больше. Поэтому проще всего не отключать своп — это поможет компьютеру оптимально использовать все возможности железа.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Что такое технический долг
Что такое технический долг

Фраза из лексикона сильных профессионалов

easy
Зачем программистам сразу два монитора (а то и три)
Зачем программистам сразу два монитора (а то и три)

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

easy
Карьерные перспективы в ИТ с учетом сложившейся ситуации
Карьерные перспективы в ИТ с учетом сложившейся ситуации

Что нужно знать тем, кто хочет стать айтишником в 2022-м году

easy
Кто такой технический директор? Почему он главный, но не пишет код?

Как перейти от программирования к управлению.

easy
Кодирование и шифрование — в чём разница?
Кодирование и шифрование — в чём разница?

Одно делается для удобства, а другое — для защиты.

easy
Как прокачать буфер обмена
Как прокачать буфер обмена

И что это вообще такое

easy
Что такое куча в программировании
Что такое куча

Это зависит от содержимого.

medium
Что такое XML
Что такое XML

Логическая разметка данных

easy
Что такое Design first и Code first
Что такое Design first и Code first

Это когда программисты делают то, что скажут дизайнеры, или наоборот.

easy
Какие бывают базы данных
Какие бывают базы данных

Объясняем на картинках.

easy
easy