Я делаю что-то вроде этого использование OpenVPN. Мой ноутбук и сотовый телефон могут соединиться с моим сервером дома с помощью SSL по соединению TCP на порте 443. Это действительно полезно, когда я в тяжелых местах, которые не позволяют Вам использовать любые порты, кроме того, 80 и 443. Вот простая конфигурация, которая выполняет это на сервере:
port 443
proto tcp
dev tun
server 10.44.3.0 255.255.255.0
ca ca.crt
cert cloud.crt
key cloud.key
dh dh2048.pem
script-security 2
push "redirect-gateway"
Затем Вы говорите серверу выполнять NAT на пакетах, прибывающих из клиентов VPN:
iptables -t nat -A POSTROUTING -s 10.44.3.0/24 -o eth0 -j MASQUERADE
После того, как я подключусь, сетевой маршрут на моем портативном устройстве похож на это:
briankb@ubuntu:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.94.0.9 0.0.0.0 UG 0 0 0 tun0
192.79.68.0 0.0.0.0 255.255.255.128 U 1 0 0 eth0
10.94.0.1 10.94.0.9 255.255.255.255 UGH 0 0 0 tun0
10.94.0.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
121.119.173.12 192.79.68.1 255.255.255.255 UGH 0 0 0 eth0
Первая строка говорит, что шлюз по умолчанию клиента является сервером VPN, таким образом, весь трафик отправляется по нему. Следующая строка является подсетью, которую я в настоящее время использую (Wi-Fi колледжа). Третья и четвертая строка является подсетью/маршрутом VPN, и последняя строка говорит, используют текущий интерфейс глобальной сети для отправки пакетов в сервер VPN.
Для получения инструкций относительно установки OpenVPN посмотрите, Как вести.
Начиная с ядра 2.6.28, Linux использует заменяющую стратегию страницы Split Least Recently Used (LRU). Страницы с источником файловой системы, такие как текст программы или совместно использованные библиотеки принадлежат кэшу файла. Страницы без поддержки файловой системы называют анонимными страницами и состоят из данных во время выполнения, таких как стековое пространство, зарезервированное для приложений и т.д. Обычно страницы, принадлежащие кэшу файла, являются более дешевыми для выселения из памяти (как они могут простой быть считанными назад из диска при необходимости). Так как анонимные страницы не имеют никакой поддержки файловой системы, они должны остаться в памяти, пока они необходимы программе, если нет область подкачки для хранения их к.
Это - распространенное заблуждение, что раздел подкачки так или иначе замедлил бы Вашу систему. Не наличие раздела подкачки не означает, что ядро не выселит страницы из памяти, это просто означает, что ядро имеет меньше вариантов в отношении который страницы выселить. Объем доступной подкачки не будет влиять, насколько это используется.
Linux может справиться с отсутствием области подкачки, потому что по умолчанию учетная политика памяти ядра может превысить возможности памяти. Оборотная сторона - то, что то, когда физическая память исчерпывается, и ядро, не может подкачать анонимные страницы к диску, out-of-memory-killer (OOM-уничтожитель), механизм начнет избавляться от процессов "жулика" памяти-hogging к свободному память для других процессов.
vm.swappiness
опция является модификатором, который изменяет баланс между выгрузкой страниц кэша файла в пользу анонимных страниц. Кэшу файла дают произвольное приоритетное значение 200 от который vm.swappiness
модификатор вычитается (file_prio=200-vm.swappiness
). Анонимные страницы, по умолчанию, начинаются с 60 (anon_prio=vm.swappiness
). Это означает, что по умолчанию приоритетные веса стоят умеренно в пользу анонимных страниц (anon_prio=60
, file_prio=200-60=140
). Поведение определяется в mm/vmscan.c
в исходном дереве ядра.
Данный a vm.swappiness
из 100
, приоритеты были бы равны (file_prio=200-100=100
, anon_prio=100
). Это имело бы смысл для ввода-вывода тяжелая система, если это не требуется что страницы от кэша файла, выселяемого в пользу анонимных страниц.
Установка Conversely vm.swappiness
кому: 0
будет препятствовать тому, чтобы ядро выселило анонимные страницы в пользу страниц от кэша файла. Это могло бы быть полезно, если программы делают большую часть своего кэширования себя, которые могли бы иметь место с некоторыми базами данных. В настольных системах это могло бы улучшить интерактивность, но оборотная сторона - то, что производительность ввода-вывода, вероятно, получит удар.
Значение по умолчанию было, скорее всего, выбрано в качестве приблизительного middleground между этими двумя экстремальными значениями. Как с любым эксплуатационным параметром, корректируясь vm.swappiness
должен быть основан на исходных данных, сопоставимых с реальными рабочими нагрузками, не только инстинктивным чувством.
Проблема состоит в том, что нет никакого значения по умолчанию, которое удовлетворит всем потребностям. Установка swappiness опции к 10 может быть соответствующей установкой для рабочих столов, но значение по умолчанию 60 может более подойти для серверов. Другими словами, swappiness нужно настроить согласно варианту использования - рабочий стол по сравнению с сервером, тип приложения и так далее.
Кроме того, ядро Linux использует память для дискового кэша иначе, RAM не использовалась бы, и это не эффективно и предназначено. Наличие дисковых данных в кэше означает, что, если чему-то нужны те же данные снова, это, вероятно, получит его от памяти. Выборка данных оттуда намного более более быстра, чем получение его от диска снова. И swappiness опция является механизмом, сколько ядро Linux предпочитает выгружать к диску к уменьшению дискового кэша. Это должно скорее удалить более старые данные из кэша, или это должно выгрузить некоторые страницы программы?
Эта статья может пролить некоторый свет на тему также. Особенно, как тенденция свопинга оценивается.
Добавление дополнительных подробно к ответам выше.
Поскольку мы используем все больше и больше виртуальных машин, хост Linux может быть виртуальной машиной в одной из этих облачных сред. В обоих примерах 1 и 2 мы получили хорошее представление о запущенных приложениях и о том, сколько оперативной памяти они потребляют. В 3 не так много