Linux значением по умолчанию использует RAM в качестве дискового кэша. Как демонстрация, попытайтесь работать time find /some/dir/containing/a/lot/of/files > /dev/null
два раза второй раз намного быстрее, поскольку каждый диск inodes кэшируется. Точка здесь - то, как использовать эту функцию ядра и остановить Вашу попытку заменить ее.
Точка должна измениться swappiness
. Давайте рассмотрим три основных типа использования памяти: активные программы, неактивные программы и дисковый кэш. Очевидно, память, используемая активными программами, не должна быть выгружена, и выбор между двум другим довольно произволен. Хотели бы Вы быстрое переключение программы или быстрый доступ к файлу? Низкий swappiness предпочитает сохранять программы в памяти (даже если не используемый в течение долгого времени), и высокий swappiness предпочитает сохранять больше дискового кэша (путем свопинга неиспользованных программ). (swappiness масштаб от 0 до 100, и значение по умолчанию равняется 60),
Мое решение Вашей проблемы состоит в том, чтобы изменить swappiness на очень высокий (90-95, чтобы не сказать 100) и загрузить кэш:
echo 95 | sudo tee /proc/sys/vm/swappiness > /dev/null # once after reboot
find /your/source/directory -type f -exec cat {} \; > /dev/null
Поскольку Вы предполагаете это, у Вас должно быть достаточно свободной памяти для содержания в кэше, все исходные файлы и объектные файлы, а также компилятор, включенные файлы заголовков, связали библиотеки, IDE и другие используемые программы.
Ответ @Demi хорош, но я думаю, что его заполнение было бы большим подспорьем.
Пульт/etc/ssh/sshd_config
:
X11Forwarding no
X11DisplayOffset 10
X11UseLocalhost yes
Пульт ~/.Xauthority
пуст или не существует
По местному:
Xephyr -ac -screen 1280x800 -br -reset :2 &
DISPLAY=:2 ssh -fR 6010:/tmp/.X11-unix/X2 user@remote "DISPLAY=:10 xeyes"
Во время теста на локальном компьютере работала Ubuntu 18.05, а на удаленном — Debian Jesse.
Протокол X11, говорит когда говорящий с tcp портом, несколько отличающимся когда говорящий с сокетом?
Возможно, Вы могли объединить свое собственное предложенное использование ssh -R 6010:localhost:6000
для введения данных X11 по перенаправлению портов затем соедините локальную болтливость мостом между tcp портом, и X11 снабжают слушателя сокетом с nc как:
nc -l -p 6000 > /tmp/.X11-unix/X0
.ssh/config
клиентский и это в Вашем .profile
серверная сторона, и затем просто выполненный ssh B
”.
– Gilles 'SO- stop being evil'
07.05.2011, 13:13
/tmp/.X11-unix/X0
сокет домена Unix, не FIFO, таким образом, любые концы попытки перенаправления с ENXIO: No such device
.
– Samveen
05.06.2015, 08:17
Разверните дополнительный X-сервер с помощью Xephyr. Это сделано для безопасности — это предотвращает компрометацию вашей удаленной системой.
Используйте SSH для переадресации удаленного сокета на сокет Xephyr. SSH также поддерживает переадресацию сокетов Unix.
Правильно задайте переменные среды на удаленном сервере.