Является ли процент памяти, показанный в 'top', реально используемой памятью?

Я давно не задавал этот вопрос, и похоже, что он полезен для некоторых пользователей. Поэтому я предоставляю свой собственный сценарий для создания снимков экрана с помощью пакетов xclip и imagemagick .

Прежде всего, установите вышеупомянутые зависимости. Затем вы можете делать все, что хотите, с помощью приведенного ниже сценария. Он поддерживает создание снимка экрана всего экрана или области экрана, а также автоматически копирует снимок экрана в буфер обмена, чтобы вы могли вставить его куда угодно (например, в браузер или мессенджер Telegram).

Пара несложных хаков могла бы добавить поддержку захвата определенных окон и переключить копируемую часть.

#!/usr/bin/env bash

# screenshots stuff
# TODO: docs

function help_and_exit {
    if [ -n "${1}" ]; then
        echo "${1}"
    fi
    cat <<-EOF
    Usage: scregcp [-h|-s] [<screenshots_base_folder>]

    Take screenshot of a whole screen or a specified region,
    save it to a specified folder (current folder is default)
    and copy it to a clipboard. 

       -h   - print help and exit
       -s   - take a screenshot of a screen region
EOF
    if [ -n "${1}" ]; then
        exit 1
    fi
    exit 0
}

if [ "${1}" == '-h'  ]; then
    help_and_exit
elif [ "${1:0:1}" == '-' ]; then
    if [ "${1}" != '-s' ]; then
        help_and_exit "error: unknown option ${1}"  
    fi
    base_folder="${2}"
else
    base_folder="${1}"
    params="-window root"
fi  

file_path=${base_folder}$( date '+%Y-%m-%d_%H-%M-%S' )_screenshot.png
import ${params} ${file_path}
xclip -selection clipboard -target image/png -i < ${file_path}

А вот мои ссылки на ярлыки для i3wm , чтобы использовать этот скрипт:

# take a screenshot of a screen region and copy it to a clipboard
bindsym --release Shift+Print exec "scregcp -s /home/ddnomad/pictures/screenshots/"

# take a screenshot of a whole window and copy it to a clipboard
bindsym --release Print exec "scregcp /home/ddnomad/pictures/screenshots/"
1
04.09.2017, 23:59
1 ответ

Для процесса используется 11 ГБ зарезервированной плюс 10 ГБ общей памяти.

32 ГБ оперативной памяти плюс 64 ГБ подкачки. общая доступная память

TOP Показывает сумму всей буферизованной + кэшированной памяти, а не только для вашего отдельного процесса.

Утечка памяти со временем потребляет больше памяти, чем должно быть выделено.

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

TOP недостаточно для этой задачи.

sar лучше наблюдать за поведением во времени.

2
27.01.2020, 23:44

Теги

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