Память сжатия на низком Поршне VM

Виртуальные интерфейсы можно создать с помощью инструментария iproute2 .

ip link add veth0 type veth peer name veth1

Это приведет к созданию 2 интерфейсов veth0 и veth1 . Подумайте о них 2 как о концах трубы. Любой трафик, отправленный в veth0 , будет исходить из veth1 и наоборот.

Если требуется маршрутизация трафика, можно выполнить следующие действия:

sysctl -w net.ipv4.conf.veth0.forwarding=1

Это позволит ядру пересылать трафик, поступающий от veth0 (поэтому используйте veth1 для используемой конечной точки).

Другой вариант - установка моста с veth0 и другим интерфейсом. Тогда любой трафик, поступающий через виртуальный интерфейс, будет направляться в сеть, как если бы ваша машина просто действовала как коммутатор.

Есть много других вещей, которые вы можете сделать с этим трафиком (маскировать его, перенаправлять, DNAT и т.д.), но это зависит от того, что вы пытаетесь сделать.

Чтобы разорвать его:

ip link del veth0

-121--5767-

man xmodmap говорит:

Список имен ключей можно найти в файле заголовка (без префикса XK_), дополненный базой данных/ usr/local/share/X11/XKeysymDB ключей.

Для вашего примера, соответствующая строка X11/keysymdef.h:

 #define XK_rightdoublequotemark          0x0ad3  /* U+201D RIGHT DOUBLE QUOTATION MARK */

Последние версии этого файла имеют заголовок комментария, который описывает, как надежно проанализировать его с помощью Perl /etc. для любых необходимых действий машины, включая создание таблицы обратного хода.

-121--76477-

При использовании Bash и его способности выполнять завершение с помощью клавиши Tab существует 2 аспектов завершения, которые могут путаться.

Если ввести букву в подсказке и перейти на Tab , вы заметите описываемое поведение.

Пример

$ el Tab

el4-rpmlint  el5-rpmlint  elbadmin     elfedit      elif    elinks    else

Это поиск в системе $ PATH и представление исполняемых файлов, соответствующих критериям поиска, т.е. el .

Однако при наличии каталога таких файлов, как приведенный ниже, можно использовать те же самые возможности завершения с помощью Tab .

Примеры файлов:

$ ls -1
efile.pdf
elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf
elements1.pdf

Пример

Делать этом:

$ ls el Tab

Bash автозавершит это до слова элемент . В этот пункт она остановится, так как это самая большая последовательность, которая является общей для группы файлов (или одного файла) в текущем каталоге. Если вы дважды нажмете Tab , Bash выведет список файлов, соответствующих этому элементу:

$ ls element Tab Tab elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf elements1.pdf

$ ls element

После этого вы вернетесь в то же место в приглашении. Баш в основном сделал ls элемент * для вас в тот момент. Если ввести букву или две, чтобы помочь Bash в том, какой файл вы хотите из подмножества он представил вам и нажмите Tab еще раз, он попытается сопоставить некоторые из ваших файлов с вашим расширенным рядом теперь в ответ на запрос:

$ ls elementa Tab

Будет достаточно, чтобы получить остальное имя файла:

$ ls elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf

1
09.06.2014, 01:51
1 ответ

Как объясняется в Zram Wiki :

zram (ранее называвшийся compcache) может создавать блочные устройства на основе RAM. Это экспериментальный (промежуточный) модуль ядра Linux начиная с версии 3.2.

Итак, если вы используете ядро ​​до 3.2, вам необходимо скопировать следующий сценарий (взятый из здесь ) в /etc/init.d/zram :

### BEGIN INIT INFO
# Provides:          zram
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 1 6
# Short-Description: Use compressed RAM as in-memory swap
# Description:       Use compressed RAM as in-memory swap
### END INIT INFO

# Author: Antonio Galea <antonio.galea@gmail.com>
# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization

FRACTION=75

MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo`
CPUS=`grep -c processor /proc/cpuinfo`
SIZE=$(( MEMORY * FRACTION / 100 / CPUS ))

case "$1" in
  "start")
    param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '`
    modprobe zram $param=$CPUS
    for n in `seq $CPUS`; do
      i=$((n - 1))
      echo $SIZE > /sys/block/zram$i/disksize
      mkswap /dev/zram$i
      swapon /dev/zram$i -p 10
    done
    ;;
  "stop")
    for n in `seq $CPUS`; do
      i=$((n - 1))
      swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" &
    done
    wait
    sleep .5
    modprobe -r zram
    ;;
  *)
    echo "Usage: `basename $0` (start | stop)"
    exit 1
    ;;
esac

give он исполняет права с

chmod +x /etc/init.d/zram

, затем проинструктирует вашу систему запустить его во время загрузки, с помощью команды

insserv zram

. После следующей перезагрузки вы увидите своп с

swapon -s

, который будет выглядеть так:

Filename                Type        Size    Used    Priority
/dev/zram0                              partition   381668  380716  10
1
27.01.2020, 23:52

Теги

Похожие вопросы