SSH-сервер зависает, когда пользователи выполняют grep-запросы на большие файлы - высокий NET_RX и большое количество softirq - как ограничить?

SSH-сервер зависает, когда пользователи выполняют grep-запросы на большие файлы - высокий NET_RX и большое количество softirq - как ограничить?

У меня есть сервер под управлением Fedora 14 - Linux-2.6.35 с сетевой картой 1Gbps. Он имеет монтирования NFSv3, предоставляемые сервером Isilon.

Он зависает всякий раз, когда любой пользователь работает с большим файлом (grep или подобным), который существует на сервере NFS. Я мог ясно видеть, что как раз перед тем, как сервер завис,

  1. Использование сети приближается к 1 Гбит/с,
  2. прерывания от NET_RX перегружают ядра процессора, и
  3. Большое количество soft_irq.

Есть идеи, как подойти к этим киоскам?

ifconfig на сетевой карте показывает

[root@interactive ~]# ifconfig eth1 <redacted>
eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
      inet addr:xx.yy.zz.aa  Bcast:A.B.C.255  Mask:255.255.252.0
      inet6 addr: aaaa::bbb:ccc:ddd:eee/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:685902495 errors:6256 dropped:28226 overruns:0 frame:6256
      TX packets:661268729 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:973006411081 (906.1 GiB)  TX bytes:146154890021 (136.1 GiB)
      Interrupt:19 Memory:d8000000-d8012800 

Слишком ли высоки ошибки?

Есть ли способ ограничить возможности пользователя SSH по перегрузке сетевого интерфейса?

решение1

Рекомендуемым решением будет увеличение пропускной способности, доступной серверу. Вы можете обновиться до 10G-подключения или добавить дополнительные сетевые карты на сервер и объединить их (etherchannel).

Кроме того, как Свен прокомментировал выше, вам необходимо убедиться, что у вас установлены последние версии драйверов для вашей сетевой карты, а также обновить операционную систему при необходимости.

Чтобы ограничить возможности пользователя ssh, вы можете попробовать Quality of Service (Traffic Control). Вы можете узнать больше, выполнив поиск по команде 'tc'.

решение2

Сеть будет работать, потому что что-то (grep и т. д.) должно прочитать файл. Я бы попробовал:

Обновите до версии сэто ДЕСЯТИЛЕТИЕ- Я знаю, ты застрял.

Попробуйте то же самое через консоль - я уверен, что это не SSH

Есть ли в журналах (например, /var/log/messages, dmesg) что-нибудь вроде зависания процессора или отсутствия ответа сервера NFS?

Wireshark для фрагментированных пакетов и т.д.

Измените параметры монтирования клиента nfs: hard или soft, wsize, rsize, timeo и retrans, UDP или TCP

Уменьшите MTU на обоих устройствах.

Связанный контент