How to obtain which interrupts cause system to hang?
Коньков Евгений
kes-kes at yandex.ru
Sun Oct 10 07:50:44 UTC 2010
Здравствуйте, Ian.
Вы писали 10 октября 2010 г., 8:55:58:
IS> In freebsd-questions Digest, Vol 331, Issue 13, Message: 8
IS> On Sat, 9 Oct 2010 20:05:48 +0300 ??????? ??????? <kes-kes at yandex.ru> wrote:
>> Content-Type: text/plain; charset=windows-1251
IS> ^^^^^^^^^^^^
IS> Hi KES, long time ..
>> #systat -v
>> 1 users Load 0.74 0.71 0.55 Oct 9 19:53
IS> [..]
>> Proc: Interrupts
>> r p d s w Csw Trp Sys Int Sof Flt 24 cow 2008 total
>> 2 3 39 23k 67 563 9 1710 47 15 zfod 9 ata0 irq14
>> ozfod nfe0 irq23
>> 23.1%Sys 50.8%Intr 1.3%User 0.0%Nice 24.8%Idle %ozfod 1999 cpu0: time
>> | | | | | | | | | | | daefr
>> ============+++++++++++++++++++++++++> 6 prcfr
IS> Yes, system and esp. interrupt time is heavy .. 23k context switches!?
IS> In addition to b. f.'s good advice .. as you later said, 2000 Hz slicing
IS> _should_ be ok, unless a slow CPU? Or perhaps a fast CPU throttled back
IS> too far .. powerd? Check sysctl dev.cpu.0.freq while this is happening.
IS> Disable p4tcc if it's a modern CPU; that usually hurts more than helps.
IS> Disable polling if you're using that .. you haven't provided much info,
IS> like is this with any network load, despite nfe0 showing no interrupts?
Polling is ON. Traffice is about 60Mbit/s routed from nfe0 to vlan4 on rl0
when interrupts are happen traffic slow down to 25-30Mbit/s.
There is no p4tcc option in KERNEL config file.
disable/enable polling does not help. situation still same.
sysctl -a | grep freq
kern.acct_chkfreq: 15
kern.timecounter.tc.i8254.frequency: 1193182
kern.timecounter.tc.ACPI-fast.frequency: 3579545
kern.timecounter.tc.TSC.frequency: 1809280975
net.inet.sctp.sack_freq: 2
debug.cpufreq.verbose: 0
debug.cpufreq.lowest: 0
machdep.acpi_timer_freq: 3579545
machdep.tsc_freq: 1809280975
machdep.i8254_freq: 1193182
>> #top
>> last pid: 24571; load averages: 0.10, 0.49, 0.50 up 0+19:15:01 19:56:36
>> 42 processes: 3 running, 39 sleeping
>> CPU: 0.7% user, 0.0% nice, 21.0% system, 36.3% interrupt, 41.9% idle
>> Mem: 305M Active, 767M Inact, 252M Wired, 468K Cache, 213M Buf, 650M Free
>> Swap: 4063M Total, 4063M Free
>>
>> PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
>> 1054 bind 4 4 0 134M 109M kqread 0:51 0.00% named
>> 986 root 1 44 0 5692K 1408K RUN 0:50 0.00% syslogd
>> 1162 clamav 1 4 0 4616K 1468K accept 0:46 0.00% smtp-gated
>> 11731 clamav 1 20 0 27948K 9728K pause 0:03 0.00% freshclam
>> 11791 root 1 -58 0 7848K 4120K bpf 0:02 0.00% arpwatch
>> 13208 root 1 44 0 10700K 4144K select 0:01 0.00% sendmail
>> 13298 root 1 8 0 6748K 1440K nanslp 0:00 0.00% cron
>> 12802 root 1 44 0 22880K 4004K select 0:00 0.00% sshd
>>
>>
>> How to obtain what nasty happen, which process take 36-50% of CPU
>> resource?
IS> Try 'top -S'. It's almost certainly system process[es], not shown above.
--
С уважением,
Коньков mailto:kes-kes at yandex.ru
More information about the freebsd-questions
mailing list