SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство.
Когда может понадобиться своп
Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:
- Постоянное падение сайта: Ошибка соединения с базой данных — означает, например, что MySQL упал;
- При внимательном изучении логов /var/log/mysql.log обнаруживается ошибка InnoDB: Fatal error: cannot allocate memory for the buffer pool . Она свидетельствует о том, что базе данных не хватает выделенной ей оперативной памяти для создания буфера.
При подобных симптомах и ошибках может помочь своппинг.
Преимущества SWAP
Экономия бюджета Допустим, рассчитано, что под работу сайта необходимо 2 гигабайта оперативной памяти. Однако, в зависимости от всплесков трафика, активности пользователей или особенностей работы проекта в моменты пиковой нагрузки оперативной памяти может не хватать, что, в свою очередь, может вызывать сбои в работе. Можно решить проблему, докупив оперативную память на 2-4 гигабайта, но тогда большую часть времени она будет простаивать вхолостую. В таком случае, может помочь простое подключение свопа на 4 гигабайта — вы выделяете место на диске под своп, и он берёт на себя роль помощника оперативной памяти.
Что такое и как работает STATTRAK ОБМЕННИК?
Теперь сравним:
Сравнение стоимости оперативной памяти и SSD | ||
(цены актуальны на 7 июля 2017 года) | IHOR | FirstVDS |
Оперативная память, в среднем за 1 гигабайт | 100 рублей в месяц | 170 рублей в месяц |
SSD, в среднем за 1 гигабайт | 10 рублей в месяц | 13 рублей в месяц |
Как видно из таблицы, экономия выйдет примерно в 10 раз.
Недостатки SWAP
Медленная работа Если файл или раздел свопа хранится на HDD (жёстком диске), то скорость чтения данных с него намного меньше, чем из оперативной памяти. Получше дела обстоят с SSD (твёрдотельным накопителем), однако, надо понимать, что поиск и чтение данных происходит через оперативную память, что, в свою очередь, всё равно увеличивает время отклика. Поэтому, если Вы решили сэкономить на оперативной памяти, полностью положившись на SWAP, то я категорически не рекомендую так делать.
SWAP — это не замена оперативной памяти, а всего лишь его поддержка.
Необходимо наличие свободного места на диске Вам необходимо зарезервировать свободное место на диске под своп, иначе стабильность работы не гарантируется. Это не то, чтобы недостаток свопа, просто его надо учитывать и помнить о нём.
Как создать и подключить файл подкачки SWAP
Далее, в работе используется командная строка SSH.
Инструментарий: Far Manager или Putty.
Для примера приводятся команды из под root . Если Вы работаете не под root , перед командами задавайте префикс sudo
StatTrak Swap Tool — CS:GO [ обзор ]
Проверка наличия свопа в системе
Для начала, нужно убедиться, что своп ещё не подключен:
swapon -s
Если команда выдала пустой результат или что-то навроде:
Filename Type Size Used Priority
— значит, своп, скорее всего отсутствует.
Дополнительно проверим командой:
free -m
Если в таблице в строке swap стоит 0, значит своп отсутствует.
Проверка наличия свободного места на диске
Теперь, надо проверить, сколько свободного места есть на диске:
df -h
В результате, мы увидим что-то подобное:
[email protected]:~# df -h Файловая система Размер Использовано Дост Использовано% Cмонтировано в /dev/vda1 30G 20G 9,0G 66% / udev 10M 0 10M 0% /dev tmpfs 403M 41M 362M 11% /run tmpfs 1006M 336K 1005M 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1006M 0 1006M 0% /sys/fs/cgroup tmpfs 1006M 492K 1005M 1% /tmp
Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.
Какого размера создать swap
Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.
Создание файла SWAP
Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:
Быстрый способ Используем fallocate :
fallocate -l 4G /swapfile
Результатом будет пустая строка, это нормально.
В отличие от dd , результат будет получен почти сразу, и я рекомендую именно его. Традиционный, медленный способ Или используем команду:
dd if=/dev/zero of=/swapfile bs=1G count=4
Синтаксис команды простой:
- dd — команда предназначена для того, чтобы что-то куда-то копировать побайтово;
- if=/dev/zero — указывает на источник, т.е. на то, откуда копируем, в данном случае из /dev/zero — это специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов;
- of=/swapfile — указывает путь назначения, куда копируем данные;
- bs=1G — количество байт, которые будут записаны за раз. В нашем случае, 1 гигабайт. Обозначения: G — гигабайт, M — мегабайт, K — килобайт, и так далее;
- count=4 — сколько блоков размером с bs будет создано, в нашем случае 4.
Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске.
Теперь, когда файл создан, проверим результат:
ls -lh /swapfile
В результате увидим:
-rw-r—r— 1 root root 4.0G Jul 07 16:16 /swapfile
Как видим, файл создался верно и с нужным объёмом.
Как подключить SWAP файл
Для начала, ограничим права доступа к вновь созданному файлу.
Предоставление другим пользователям возможности читать или писать в этот файл будет представлять собой огромный риск для безопасности, поэтому ограничение командой ниже строго обязательно:
chmod 600 /swapfile
ls -lh /swapfile
В результате, мы должны увидеть подобное:
-rw——- 1 root root 4.0G Jul 07 16:16 /swapfile
Права прописаны верно.
Теперь нужно сделать из swapfile файл подкачки:
mkswap /swapfile
В результате, увидим примерно следующее:
Setting up swapspace version 1, size = 4193300 KiB
no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544
Теперь, файл готов в роли свопа. Подключим его к системе:
swapon /swapfile
swapon: /swapfile: swapon failed: Operation not permitted
Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использовать IHOR, сервера от 100 рублей в месяц и виртуализация KVM позволяют включать SWAP.
Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
swapon -s
Filename Type Size Used Priority /swapfile file 4193300 0 -1
Своп также будет виден в стандартных командах:
free -m
total used free shared buffers cached Mem: 2010 1887 122 0 5 30 -/+ buffers/cache: 827 1183 Swap: 4095 0 4095
Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.
Добавление свопа в автозагрузку
Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab :
echo «/swapfile none swap sw 0 0» >> /etc/fstab
Теперь система знает, где и как при перезагрузке искать и подключать своп.
Проверить, подключен ли своп в автозагрузке, можно с помощью редактора:
nano /etc/fstab
Дополнительные вопросы
Как очистить SWAP в Linux
Вообще, это делается с помощью отключения и включения свопа.
swapoff -a sleep 3 swapon -a
Однако, я не рекомендую прибегать к этому способу, так как swap просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.
Источник: sheensay.ru
Что такое своп и зачем он вам
Это статья об устройстве компьютеров. Будет полезно тем, кто хочет разбираться, что там под капотом и как оно работает. Сам процесс работы со свопом полностью автоматизирован, и вы не можете на него существенным образом повлиять, поэтому текст строго для расширения кругозора.
У компьютера есть два вида памяти:
- Оперативная — чтобы процессор мог быстро обработать данные от запущенных программ.
- И постоянная — в ней хранятся наши программы, данные, служебные файлы и всё остальное, что есть на компьютере. Это жёсткие диски, накопители SSD и флеш-память.
Оперативная память быстрая, но дорогая, поэтому её во много раз меньше. Для сравнения: в обычном офисном ноутбуке 2022 года установлено 8 гигабайт оперативной памяти и 256 гигабайт постоянной.
При запуске очередной программы компьютеру нужно, чтобы и программа, и её данные оказались в оперативной памяти. Но часто бывает так, что оперативной памяти на всё не хватает, потому что кроме программ в ней находятся другие нужные компьютеру штуки:
- драйверы для работы устройств;
- ядро операционной системы, чтобы она управляла всем компьютером;
- служебные программы;
- другие программы, которые мы запускали до этого.
Чтобы решить эту проблему, когда оперативной памяти не хватает, а быстрый доступ к данным всё равно нужен, придумали своп.
Что такое своп
Своп (его ещё называют «файл подкачки») — это специальный файл на жёстком диске, в котором хранятся данные для быстрого доступа системы. Это как бы продолжение оперативной памяти.
Работает своп так:
- Система создаёт на диске один большой файл, к которому быстрее всего можно получить доступ.
- В этот файл выгружаются те данные из оперативной памяти, которые сейчас пока не нужны. Например, программа давно висит в фоне и с ней никто не работает.
- Как только компьютер увидит, что с программой снова активно работают, он загружает обратно в оперативную память её данные из свопа.
- Параллельно с этим компьютер смотрит, что пока можно отправить в своп, чтобы не забивать полностью оперативную память.
Почему у меня на диске большой своп, если в оперативной памяти ещё много места?
Компьютер всегда оставляет некоторый запас свободной оперативной памяти на тот случай, если понадобится без задержек обработать какие-то данные: новую запущенную программу или служебные файлы. Поэтому система складывает данные в своп, даже если есть место для этого в оперативной памяти.
Вот пример с ноутбука, на котором пишется эта статья: видно, что физически доступно примерно 2 гигабайта оперативной памяти, и можно было бы уменьшить своп — использовать не 2,23 гигабайта, а 0,4. Но система оставила небольшой запас памяти — благодаря этому новые программы будут загружаться быстро и не ждать, пока компьютер очистит для них память.
Если своп — это файл, то можно ли его удалить?
Технически — да, но система просто не даст это сделать. Дело в том, что своп — это системный файл, и у пользователя просто не будет нужных прав доступа, чтобы его удалить.
Если загрузиться с флешки, зайти на жёсткий диск компьютера и удалить своп, то при следующем нормальном запуске система создаст его снова. Единственный способ избавиться от свопа — отключить его в настройках системы, но чаще всего ничего хорошего из этого не выйдет.
Можно ли обойтись вообще без свопа
Можно, но это приведёт к тому, что после запуска двух-трёх программ компьютер начнёт тормозить — у него не будет свободных ресурсов для плавной работы и быстрого переключения между программами.
Единственный вариант, когда можно поработать без свопа, — если в компьютере стоит очень много оперативной памяти, 32 гигабайта и выше. Но даже с такими объёмами памяти в некоторых областях без свопа не обойтись. Дело в том, что для программирования нейросетей, разработки сложных приложений или для работы с трёхмерной графикой могут легко понадобиться 128 гигабайт оперативной памяти или даже больше. Поэтому проще всего не отключать своп — это поможет компьютеру оптимально использовать все возможности железа.
Источник: thecode.media
SWAP.GG
SWAP.GG — крупный сайт для обмена предметов из таких игр, как CS:GO, Dota 2 и других, на другие предметы. Кроме того, игроки могут выводить с сайта денежные средства, эквивалентные стоимости отданных предметов. Сервис был открыт в 2017 году и зарегистрирован в Амстердаме, Нидерланды.
Для совершения обмена пользователям необходимо лишь войти в их аккаунт в Steam’е и выбрать из инвентаря предметы, которые игроки хотят обменять. На SWAP.GG есть удобное окно фильтра, позволяющее настроить цену, тип и качество желаемых для получения вещей.
Что еще?
На сайте имеется возможность посмотреть документацию для разработчиков, позволяющую им изучить цены, текущий баланс, историю аккаунта и т.д. Кроме того, платформа предоставляет игрокам право совершать автоматические обмены и т.д.
Примечательной особенностью площадки служит предлагаемая пользователям бесплатная партнерская программа. Суть ее работы проста: при подключении пользователей к программе, они получают ряд ссылок и баннеров, которые должны распространить.
Бонус для пополнения
Когда любой человек, нажавший на эту ссылку, перейдёт на SWAP.GG, их деятельность на нем будет отслеживаться партнерской программой; игрок, распространивший эту ссылку, будет получать комиссию в 20% от каждого обмена, совершаемого новыми пользователями.
Источник: csgocode.ru