Откуда журналу известен PID процесса, который создает данные журнала?

readonly TGT=/export/home/david/dist
readonly TGT1=${TGT}/primary
readonly TGT2=${TGT}/secondary
readonly MMAP_LOC=/data/pe_t1_snapshot
readonly PART1='t1_weekly_1680_[03579]_200003_5.data' # shell globbing does 
readonly PART2='t1_weekly_1680_[12468]_200003_5.data' # the bulk of the work
readonly F_LOC=BC
readonly SSH="david@machine"
#hoping the = works - I don't know 
SSH1='ssh -o "StrictHostKeyChecking=no" '"${SSH}${F_LOC%?}"
SSH2="${SSH1%?}${F_LOC#?}"  
DIR="${MMAP_LOC}/"'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
DIR1="$($SSH1 'cd ${d='"$DIR"'} && echo $d')" #shell glob
DIR2="$($SSH2 'cd ${d='"$DIR"'} && echo $d')" #shell glob
${DIR1:?FAIL} [ -n "${DIR1#"$DIR2"}" ] && exit 1 #tests if d1=d2 or dies
F1="$($SSH1 'printf "%s\n" '"${DIR1}/${PART1}")" #prefers primary
F1="${F1}$(echo ; $SSH1 'for f in '"${DIR2}/${PART1}"'\ #shell glob in
        do { case "'"$F1"'" in "${f#'"$DIR2"'}") continue ;;\ # favor
                *) printf "%s\n" "$f" ;;\ #of files found in primary
        esac ; } ; done')" #with secondary as backup
F2="$($SSH2 'printf "%s\n" '"${DIR2}/${PART2}")" #secondary
rsync -avzt -e "${SSH1}:/" "${TGT1}"/. \ #if it works, based on your
    --exclude=* $(printf --include=%s\\n $F1) #file sizes, should
rsync -avzt -e "${SSH2}:/" "${TGT2}"/. \  #dramatically decrease
    --exclude=* $(printf --include=%s\\n $F2) #transfer times

Это работает?

1
29.12.2018, 08:37
2 ответа

kdump— это механизм дампа памяти при сбое ядра. В случае сбоя системы kdumpсоздает аварийный дамп ядра, который можно использовать для дальнейшего анализа. В зависимости от серьезности сбоя этот аварийный дамп может быть единственной информацией, доступной для дальнейшего анализа.

В случае сбоя системы kdumpработает, загружая в память второе ядро ​​с помощью системного вызова kexec. Это второе ядро ​​захватывает содержимое памяти первого ядра. Эта информация сохраняется в виде аварийного дампа.

Чтобы второе ядро ​​могло быть загружено в память, часть системной памяти должна быть постоянно зарезервирована для него. Эта область памяти недоступна для первого ядра. Объем зарезервированной памяти зависит от архитектуры системы и общего объема памяти, установленной в системе. Например, для системы с архитектурой x86_64и 2 ГБ установленной памяти потребуется зарезервировать для kdumpне менее 163968 КиБ (160,25 МБ ).

В RHEL 7 (и CentOS 7 с расширением )механизм kdumpустановлен и активирован по умолчанию для (большинства )новых установок. Программа установки Anaconda предоставляет ограниченные возможности для настройки kdump. Другие варианты установки, такие как Kickstart, могут не включать kdumpпо умолчанию.

Дополнительные сведения обkdump(установке, настройке и использовании )можно найти в RHEL 7 Documentation on Kernel Administration:Руководство по созданию дампа ядра

2
27.01.2020, 23:23

kdumpвыгружает память ядра в случае сбоя ядра. Так

  1. Если ваше ядро ​​никогда не дает сбоев, безопасно отключить kdump

  2. Если вас не волнует сбой ядра, безопасно отключить kdump

  3. Если у вас нет контракта на поддержку и вы не обладаете необходимыми знаниями для самостоятельной отладки сбоя ядра и не желаете платить кому-то разово за диагностику сбоя ядра, безопасно отключить kdump.

В противном случае оставьте его включенным.

Для большинства людей верно (1 ). В остальном либо (2 ), либо (3 ), вероятно, верно. Если вы делаете дорогостоящее устройство со встроенным Linux, kdump может быть чрезвычайно ценным.

2
27.01.2020, 23:23

Теги

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