Не может изменить значение в SMP_affinity

Анализ выходных данных w , вероятно, лучше, чем кто . Вот некоторые репрезентативные данные, которые показывают время входа в систему:

$ who
tom      pts/1        2015-11-15 06:39 (michener:S.0)
$ w
 06:40:10 up  1:04,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
tom      pts/1    michener:S.0     06:39    2.00s  0.03s  0.00s w

Они более доступны, чем палец . Поскольку это упражнение является классным упражнением, анализ данных оставлен на усмотрение OP. В качестве подсказки, awk может сделать больше, чем напечатать свои поля в одной строке:

  • Обычно, чтобы обработать вывод w , в скрипте awk имеется раздел BEGIN (для установки номера строки или состояния).
  • Тогда действие по умолчанию для каждой строки (только фигурные скобки без образца) увеличит номер строки.
  • Используя номер строки, обработайте первую строку специально (пропустите ее в этом случае: OP может потребоваться количество пользователей для заголовка отчета, но это не используется в примере OP) и пропустите строку с помощью USER .
  • После этого каждую строку можно распечатать по мере необходимости. awk выйдет, когда больше нет данных; для этого необязательно знать количество пользователей.

Если OP получает команду использовать who , это имеет опции для перечисления дополнительной информации, например,

$ who -l -u
LOGIN    tty5         2015-11-15 05:36              3670 id=5
LOGIN    tty6         2015-11-15 05:36              3671 id=6
LOGIN    tty4         2015-11-15 05:36              3669 id=4
LOGIN    tty3         2015-11-15 05:36              3668 id=3
LOGIN    tty2         2015-11-15 05:36              3667 id=2
LOGIN    tty1         2015-11-15 05:36              3666 id=1
tom      pts/1        2015-11-15 06:39 00:06        5780 (michener:S.0)
tom      pts/2        2015-11-15 06:52   .          6078 (michener:S.1)

снова, с указанием имени терминала и времени входа в систему.

-121--138835-

Итак, вот решение, которое сработало:

iptables -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -s 192.168.43.51 ! -d 192.168.43.1 -j DROP

-121--216744-

#!/bin/ksh

# KSH function to read one character from standard input
# without requiring a carriage return. To be used in KSH
# script to detect a key press.
#
# Source this getch function into your script by using:
#
# . /path/to/getch.ksh
# or
# source /path/to/getch.ksh
#
# To use the getch command in your script use:
# getch [quiet]
#
# Using getch [quiet] yields no output.

getch()
{
   STAT_GETCH="0"
   stty raw
   TMP_GETCH=`dd bs=1 count=1 2> /dev/null`
   STAT_GETCH="${?}"
   stty -raw

   if [[ "_${1}" != "_quiet" ]]
   then
       print "${TMP_GETCH}"
   fi
   return ${STAT_GETCH}
}

1
29.06.2018, 13:39
1 ответ

Устройство на IRQ 51, вероятно, не поддерживает IO -APIC. Вы можете проверить это, запустив:

cat /proc/interrupts

Я предоставил (отредактированный )образец вывода ниже:

           CPU0       CPU1       CPU2       CPU3
  0:         31          0          0          0   IO-APIC-edge      timer
  6:          0          0          0          2   IO-APIC-edge      floppy
 51:          0          0          0          0   PCI-MSI-edge      PCIe PME, pciehp

В примере системы я могу изменить привязку smp _к IRQ 6, но не к IRQ 51. (Хотя IRQ 0 перечисляет границу IO -APIC -, соответствие smp _этому IRQ. Я не уверен, почему.)

Из IO -APIC.txt:

Without an IO-APIC, interrupts from hardware will be delivered only to the CPU which boots the operating system (usually CPU#0).

Другой полезной ссылкой является SMP IRQ Affinity .

0
28.01.2020, 00:33

Теги

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