Существует ли утилита, которая интерпретирует/proc/interrupts данные вовремя?

Безопасное сжатие

Программы сжатия удаляют исходный файл по умолчанию.Мне это не нравится.

alias gzip='gzip --keep'
alias bzip2='bzip2 --keep'
alias xz='xz --keep'
alias lzma='lzma --keep'

Многострочная подсказка

tag() {
    TAG="${TAG} [$1]" exec zsh
}

reset_tags() {
    TAG='' exec zsh
}

color='green'
if [ "${USER}" = 'root' ]; then
    color='red'
fi

export PS1="${TAG} %B%F{yellow} *** %F{blue}%~\

%F{yellow}%(1j.[%j] .)%F{red}%(?..(%?%) )%F{${color}}%n@%m %F{blue}%# %f%b"
export RPS1='%B%F{blue}%D{%Y-%m-%d} %F{green}%D{%H:%M:%S}'
export PS2='%B%F{red}%n@%m%k %B%F{blue}%_> %b%f%k'
unset color
  • Показывает текущий каталог в отдельной строке. Полезный при обработке глубокого дерева каталогов на терминале на 80 столбцов.
  • Наличие часов в углу является большой вещью при использовании графической среды. Эта подсказка показывает время. К сожалению, необходимо нажать Enter для обновления его.
  • Можно отобразить "теги" с переменными среды. Пример:

    tag 'DONT SHTUDOWN!!'
    reset_tags
    
  • Код по крайней мере частично основан на этом.

Настройки истории

dont_log() {
    HISTFILE="/dev/null" TAG="${TAG} %B%F{red}[LOGGING DISABLED]" zsh
}

if [ "${HISTFILE}" != '/dev/null' ]; then
    # history
    export HISTFILE="${HOME}/.zsh/history"
    export HISTSIZE="4096"
    export SAVEHIST="4096"

    # Don't overwrite, append!
    setopt APPEND_HISTORY

    # Write after each command
    # setopt INC_APPEND_HISTORY

    # Killer: share history between multiple shells
    setopt SHARE_HISTORY

    # If I type cd and then cd again, only save the last one
    setopt HIST_IGNORE_DUPS

    # Even if there are commands inbetween commands that are the same, still only save the last one
    setopt HIST_IGNORE_ALL_DUPS

    # Pretty    Obvious.  Right?
    setopt HIST_REDUCE_BLANKS

    # If a line starts with a space, don't save it.
    setopt HIST_IGNORE_SPACE
    setopt HIST_NO_STORE

    # When using a hist thing, make a newline show the change before executing it.
    setopt HIST_VERIFY

    # Save the time and how long a command ran
    setopt EXTENDED_HISTORY

    setopt HIST_SAVE_NO_DUPS
    setopt HIST_EXPIRE_DUPS_FIRST
    setopt HIST_FIND_NO_DUPS
fi
  • Бесстыдно украденный отсюда.
  • Я добавил поддержку того, чтобы явно запретить вход. Полезный, если Вы имеете дело с программами, которые ожидают пароли как аргумент CLI.

6
06.03.2011, 23:27
5 ответов
watch -n0.1 --no-title cat /proc/interrupts
8
27.01.2020, 20:22
Для этого также можно использовать

dstat .

dstat -tif 60

Чтобы перечислить все прерывания (с более чем 10 в / proc / stat )

dstat -tf --int24 60

То же, но с использованием / proc / interrupts , поэтому включите такие вещи, как LOC , PMI , RES ...

Вы также можете выбрать список тех, которые вам нужны:

$ dstat -t --int24 -I23,LOC,RES 5
----system---- ----interrupts---
     time     |  23   LOC   RES
21-12 16:30:23|   2   489    52
21-12 16:30:28|  30   593     6
21-12 16:30:30|  37   929     7

См. Также - top-int для отслеживания наиболее активного прерывания:

$ dstat -t --top-int
----system---- ---most-frequent----
     time     |     interrupt
21-12 16:33:21|5242880-edge enp10s0  56
21-12 16:33:22|5242880-edge enp10s0  68
21-12 16:33:23|5242880-edge enp10s0   4
21-12 16:33:24|5242880-edge enp10s0   3
21-12 16:33:25|5242880-edge enp10s0  61
21-12 16:33:26|5242880-edge enp10s0  11
21-12 16:33:27|512000-edge ahci[0000:00:1f.2]   5
21-12 16:33:28|5242880-edge enp10s0  52
21-12 16:33:29|5242880-edge enp10s0  20
21-12 16:33:30|32768-edge i915  57
4
27.01.2020, 20:22

mpstat (1) N M -I позволяет сделать это с указанным интервалом опроса и количеством отчетов.

  • N - интервал опроса в секундах.
  • M - количество отчетов.
  • Согласно справочная страница , -I , которая принимает ряд параметров, предназначена для «Сообщать статистику прерываний».

Кроме того,

intr / s
Показывает общее количество прерываний, получаемых ЦП или ЦП в секунду.
С ключевым словом CPU отображается количество каждого отдельного прерывания, полученного CPU или CPU за секунду. Прерывания перечислены в файле / proc / interrupts.

3
27.01.2020, 20:22

Для сервера с большим количеством ЦП я нашелhttps://github.com/lanceshelton/irqstatочень полезным. Он показывает, где происходят прерывания в реальном времени:

Sun Oct 21 20:16:09 2018
IRQs / 5 second(s)
IRQ#  TOTAL  NODE0   NODE1  NAME
  35  38060  38060       0  IR-PCI-MSI 2621440-edge enp5s0-rx-0
  36  19853  19853       0  IR-PCI-MSI 2621441-edge enp5s0-tx-0
  34    311    311       0  IR-PCI-MSI 512000-edge ahci[0000:00:1f.2]
  29    105    105       0  IR-PCI-MSI 2097152-edge enp4s0-rx-0
  42      0      0       0  IR-PCI-MSI 77824-edge ioat-msix
  43      0      0       0  IR-PCI-MSI 79872-edge ioat-msix
  49      0      0       0  IR-PCI-MSI 67180544-edge ioat-msix
  52      0      0       0  IR-PCI-MSI 67186688-edge ioat-msix
  53      0      0       0  IR-PCI-MSI 67188736-edge ioat-msix
  48      0      0       0  IR-PCI-MSI 67178496-edge ioat-msix
2
27.01.2020, 20:22

Да, есть irqtop , который является частью не слишком старых util -linux релизов. Например, Fedora 33 — это первый выпуск Fedora, в котором он есть.

В последнем выпуске util -linux irqtop также может отображать программные прерывания (, ср.--softirq).

Пример:

$ irqtop -s delta
irqtop | total: 182243195 delta: 163991 | example.org | 2021-05-09 23:39:32+02:00

IRQ    TOTAL DELTA NAME
 63 14890381 35488 IR-PCI-MSI 3145728-edge eno3-TxRx-0
 64 14661318 34614 IR-PCI-MSI 3145729-edge eno3-TxRx-1
 58 29720656 23291 IR-PCI-MSI 2623488-edge eno2-TxRx-0
 61 29676645 23268 IR-PCI-MSI 2623491-edge eno2-TxRx-3
 60 29676091 23266 IR-PCI-MSI 2623490-edge eno2-TxRx-2
 59 29686036 23259 IR-PCI-MSI 2623489-edge eno2-TxRx-1
LOC  5524971   755 Local timer interrupts
 52    39316    14 IR-PCI-MSI 2621443-edge eno1-TxRx-3
CAL 12209964    12 Function call interrupts
 50    38809     6 IR-PCI-MSI 2621441-edge eno1-TxRx-1
 49    45351     4 IR-PCI-MSI 2621440-edge eno1-TxRx-0
 51    39170     2 IR-PCI-MSI 2621442-edge eno1-TxRx-2
0
09.05.2021, 21:40

Теги

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