Выселение дискового кэша в память

Это решение отправляет выделенный текст в Google translate, получает результат с помощью wget и отображает его, создавая скрипты, которые можно запускать с помощью ярлыков. (Скрипт на основе Zenity не работает из-за какой-то ошибки, я не упоминал об этом)

Установите некоторые инструменты, если они еще не установлены:

sudo apt-get install libnotify-bin wget xsel xclip

Скрипт для перевода выделенного текста и выдачи результата во всплывающем уведомлении на рабочем столе:

gedit notitrans

с:

#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

сделайте его исполняемым

chmod +x ~/notitrans

переместите его следующим образом:

sudo mv ~/notitrans /usr/local/bin/

Скрипт для отображения перевода в уведомлении на рабочем столе и автоматического копирования перевода в буфер обмена:

#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo "$translate" | xclip -selection clipboard
notify-send --icon=info "$text" "$translate"

Сделайте его исполняемым.

enter image description here

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

1
04.03.2016, 10:12
1 ответ

TL; DR Если страница является кешем для чтения с диска он никогда не идет на свопинг.

Ваш вопрос означает, что вы уже знаете, как работает своп (или, скорее, как работает виртуальная память). Теперь простой важный шаг в понимании дискового кэша - это отметить, что он обрабатывается в точно так же . Нет никаких «данных приложения» и «дискового кеша», это всего лишь единый механизм виртуальной памяти.

Каждая страница поддерживается постоянным хранилищем: вместо объявления страницы как "дискового кеша" вы также можете объявить, что "эта страница поддерживается /var/spool/mail/root". Вместо объявления страницу как «память приложения» вы также можете объявить «эта страница поддерживается пространством подкачки» (иначе «она анонимна» = она не поддерживается ни одним указанным файлом).

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

То, что я назвал здесь атрибутом «поддерживается», люди чаще всего называют отображением памяти, и то, что я здесь описал, действительно показывает, как работает mmap .

3
27.01.2020, 23:35

Теги

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