Показ дописів із міткою linux. Показати всі дописи
Показ дописів із міткою linux. Показати всі дописи

4 бер. 2015 р.

Скрипт уточняющий кто жрет Swap

Чтобы узнать кто потребляет Swap делаем:

nano checkswap.sh

Вставляем следующий код:

#!/bin/bash
# Get current swap usage for all running processes
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`
do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null | awk '{ print $2 }'`
    do
        let SUM=$SUM+$SWAP
    done
    if (( $SUM > 0 )); then
        echo "PID=$PID swapped $SUM KB ($PROGNAME)"
    fi
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "Overall swap used: $OVERALL KB"

Альтернативный вариант:


#!/bin/bash
    # find-out-what-is-using-your-swap.sh

SCRIPT_NAME=`basename $0`;
SORT="kb";                 # {pid|kB|name} as first parameter, [default: kb]
[ "$1" != "" ] && { SORT="$1"; }
[ ! -x `which mktemp` ] && { echo "ERROR: mktemp is not available!"; exit; }
MKTEMP=`which mktemp`;
TMP=`${MKTEMP} -d`;
[ ! -d "${TMP}" ] && { echo "ERROR: unable to create temp dir!"; exit; }
>${TMP}/${SCRIPT_NAME}.pid;
>${TMP}/${SCRIPT_NAME}.kb;
>${TMP}/${SCRIPT_NAME}.name;
SUM=0;
OVERALL=0;
    echo "${OVERALL}" > ${TMP}/${SCRIPT_NAME}.overal;
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`;
do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
    do
        let SUM=$SUM+$SWAP
    done
    if (( $SUM > 0 ));
    then
        echo -n ".";
        echo -e "${PID}\t${SUM}\t${PROGNAME}" >> ${TMP}/${SCRIPT_NAME}.pid;
        echo -e "${SUM}\t${PID}\t${PROGNAME}" >> ${TMP}/${SCRIPT_NAME}.kb;
        echo -e "${PROGNAME}\t${SUM}\t${PID}" >> ${TMP}/${SCRIPT_NAME}.name;
    fi
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "${OVERALL}" > ${TMP}/${SCRIPT_NAME}.overal;
echo;
echo "Overall swap used: ${OVERALL} kB";
echo "========================================";
case "${SORT}" in
    name )
        echo -e "name\tkB\tpid";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.name|sort -r;
        ;;
    kb )
        echo -e "kB\tpid\tname";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.kb|sort -rh;
        ;;
    pid | * )
        echo -e "pid\tkB\tname";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.pid|sort -rh;
        ;;
esac
rm -fR "${TMP}/";


Выполняем: chmod +x checkswap.sh && ./checkswap.sh


10 серп. 2014 р.

Замена текстового редактора в консоли Linux

Допустим стандартный текстовый редактор vi, надо сменить на nano, в консоли выполняем:

EDITOR="nano"
export EDITOR

или

echo export EDITOR="nano" >> ~/.bashrc

9 лист. 2010 р.

Кракозябры в ключевых фразах отчета Awstats

Сегодня обнаружил, что ключевые фразы в отчете Awstats выводятся в виде нечитаемой ерунды. Проблема заключается в частичном выводе результатов в UTF-8, когда сам Awstats выводит всю страницу в кодировке 1251. Для того чтобы исправить положение, необходимо включить поддержку модуля DecodeUTFKeys. Нужно раскомментировать соответствующую строку в конфигурационном файле.

6 квіт. 2010 р.

Подключение ISO образа в Linux

В Windows для монтирования ISO образов есть достаточно большой арсенал вспомогательного ПО. В Linux все намного проще, благодаря замечательной команде mount. Итак у нас есть образ и нам необходимо просмотреть его содержимое. Для этого достаточно выполнить следующую команду:

linux# mount -o loop /path/image.iso /mnt

После выполнения, содержимое образа будет доступно в директории /mnt