Re: load average is 1 when no processes active; etc.
Just for the record, i here have a system cvsupped and built FreeBSD 5.0-CURRENT #0: Sat Sep 9 13:46:17 CEST 2000 which has a constant load average of 1.00 and higher in uptime, top, and systat. The load is already 1.00 or above when the first shell prompt after a boot appears. I've already tried to kill all processes in reach but the load never drops below 1.00 - even in single user mode. Other than this the machine is running fine. hellmuth -- Hellmuth MichaelisTel +49 40 55 97 47-70 HCS Hanseatischer Computerservice GmbHFax +49 40 55 97 47-77 Oldesloer Strasse 97-99 Mail hm [at] hcs.de D-22457 Hamburg WWW http://www.hcs.de To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: load average is 1 when no processes active; etc.
On Mon, 11 Sep 2000, Valentin Nechayev wrote: `top -I' output: ==={ last pid: 811; load averages: 1.01, 0.97, 0.67up 0+00:16:12 23:26:26 This is because the idle process is always running (see "ps lax" outout). Perhaps the bug is that top doesn't show the idle process or other interesting kernel processes like the new interrupt processes. top does nothing to determine LA except getting sysctl "vm.loadavg", isn't it? ("uptime" and "w" says the same avenrun/LA values.) Imho, idle process should not be determined as always running, and idle process state should be fixed. Well, the kernel just doesn't treat it specially, so it gets counted in the load average. I'm not sure if the interrupt and other kernel processes are counted. Since they do useful work, they should be. The idle process does the not so useful work of heating the cpu, since it no longer halts or runs vm_page_zero_idle(). IP Filter: v3.4.9 initialized. Default = pass all, Logging = enabled microuptime() went backwards (1.3891137 - 0.596214) microuptime() went backwards (1.3891137 - 0.596655) ... I get these at boot time on one machine but not on another very similar machine, and often after messing around with ddb. TSC timecounter in all cases. I think they are not a serious problem or related to old timecounter bugs, but they may be related to old bugs setting `switchtime'. What information of my hardware should be reported additionally? None for this problem. It's a general problem. Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: load average is 1 when no processes active; etc.
Bruce Evans wrote: On Mon, 11 Sep 2000, Valentin Nechayev wrote: `top -I' output: ==={ last pid: 811; load averages: 1.01, 0.97, 0.67up 0+00:16:12 23:26:26 This is because the idle process is always running (see "ps lax" outout). Perhaps the bug is that top doesn't show the idle process or other interesting kernel processes like the new interrupt processes. top does nothing to determine LA except getting sysctl "vm.loadavg", isn't it? ("uptime" and "w" says the same avenrun/LA values.) Imho, idle process should not be determined as always running, and idle process state should be fixed. Well, the kernel just doesn't treat it specially, so it gets counted in the load average. I'm not sure if the interrupt and other kernel processes are counted. Since they do useful work, they should be. The idle process does the not so useful work of heating the cpu, since it no longer halts or runs vm_page_zero_idle(). BTW, will it be fixed any time soon? Mobile users will certainly like to see idle process halting CPU as it was before. -Maxim To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: load average is 1 when no processes active; etc.
On Mon, 11 Sep 2000, Maxim Sobolev wrote: Bruce Evans wrote: Well, the kernel just doesn't treat it specially, so it gets counted in the load average. I'm not sure if the interrupt and other kernel processes are counted. Since they do useful work, they should be. The idle process does the not so useful work of heating the cpu, since it no longer halts or runs vm_page_zero_idle(). BTW, will it be fixed any time soon? Mobile users will certainly like to see idle process halting CPU as it was before. Not sure. I use this quick fix: --- diff -c2 kern_idle.c~ kern_idle.c *** kern_idle.c~Thu Sep 7 12:32:51 2000 --- kern_idle.c Sun Sep 10 18:06:39 2000 *** *** 40,43 --- 50,55 #endif + extern void (*_hlt_vector)(void); + static void idle_setup(void *dummy); SYSINIT(idle_setup, SI_SUB_SCHED_IDLE, SI_ORDER_FIRST, idle_setup, NULL) *** *** 90,94 --- 102,116 count = 0; + #ifdef __i386__ + disable_intr(); + #endif while (count = 0 procrunnable() == 0) { + #ifdef __i386__ + if (vm_page_zero_idle() != 0) + continue; + (*_hlt_vector)(); + disable_intr(); + continue; + #endif /* * This is a good place to put things to be done in *** *** 99,102 --- 121,127 " for a process"); } + #ifdef __i386__ + enable_intr(); + #endif mtx_enter(sched_lock, MTX_SPIN); --- Add a bogus #include of machine/md_var.h to fix a warning. Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
load average is 1 when no processes active; etc.
System in question is: root@nn:~##uname -mrs FreeBSD 5.0-CURRENT i386 root@nn:~##grep FreeBSD_version /usr/include/sys/param.h #undef __FreeBSD_version #define __FreeBSD_version 500012/* Master, propagated to newvers */ root@nn:~## cvsup was Sep 8, approximately at 18:00 GMT. `top -I' output: ==={ last pid: 811; load averages: 1.01, 0.97, 0.67up 0+00:16:12 23:26:26 24 processes: 1 running, 21 sleeping, 2 stopped CPU states: 0.0% user, 0.0% nice, 0.0% system, 7.9% interrupt, 92.1% idle Mem: 7524K Active, 9788K Inact, 5812K Wired, 8K Cache, 6336K Buf, 5300K Free Swap: 300M Total, 300M Free PID USERNAME PRI NICE SIZERES STATETIME WCPUCPU COMMAND 811 root 46 0 1916K 1176K RUN 0:00 0.00% 0.00% top ===} A few seconds after starting: root@nn:~##uptime 11:30PM up 50 secs, 1 user, load averages: 0.88, 0.22, 0.08 Of course, real LA is less than 0.1. The same system has another strangeness - `microuptime() went backwards': ==={ /var/run/dmesg.boot Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #0: Sat Sep 9 08:19:58 EEST 2000 [EMAIL PROTECTED]:/usr/src.cr/sys/compile/nn10 Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 334092166 Hz CPU: AMD-K6(tm) 3D processor (334.09-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x58c Stepping = 12 Features=0x8021bfFPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX AMD Features=0x8800SYSCALL,3DNow! real memory = 33554432 (32768K bytes) avail memory = 28540928 (27872K bytes) Preloaded elf kernel "kernel.ko" at 0xc0426000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc04260a0. K6-family MTRR support enabled (2 registers) md0: Malloc disk npx0: math processor on motherboard npx0: INT 16 interface pcib0: Host to PCI bridge on motherboard pci0: PCI bus on pcib0 isab0: Intel 82371AB PCI to ISA bridge at device 7.0 on pci0 isa0: ISA bus on isab0 atapci0: Intel PIIX4 ATA33 controller port 0xf000-0xf00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: Intel 82371AB/EB (PIIX4) USB controller at 7.2 pci0: Intel 82371AB Power management controller at 7.3 pci0: S3 ViRGE DX/GX graphics accelerator at 17.0 irq 11 fdc0: NEC 72065B or clone at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: 1440-KB 3.5" drive on fdc0 drive 0 atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0 atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0 sc0: System console at flags 0x100 on isa0 sc0: VGA 16 virtual consoles, flags=0x300 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: Parallel port at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold lpt0: Printer on ppbus0 lpt0: Interrupt-driven port plip0: PLIP network interface on ppbus0 ppi0: Parallel I/O on ppbus0 sbc0: ESS ES1868 at port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on isa0 pcm0: ESS 18xx DSP on sbc0 unknown: PNP0303 can't assign resources pca0: AT-style speaker sound at port 0x61 on isa0 unknown: PNP0501 can't assign resources unknown: PNP0700 can't assign resources unknown: PNP0401 can't assign resources unknown: PNP0501 can't assign resources IP packet filtering initialized, divert enabled, rule-based forwarding disabled, default to accept, logging limited to 100 packets/entry by default DUMMYNET initialized (000608) IPv6 packet filtering initialized, default to accept, logging limited to 100 packets/entry IPsec: Initialized Security Association Processing. ncp_load: [210-213] IP Filter: v3.4.9 initialized. Default = pass all, Logging = enabled microuptime() went backwards (1.3891137 - 0.596214) microuptime() went backwards (1.3891137 - 0.596655) microuptime() went backwards (1.3891137 - 0.597078) microuptime() went backwards (1.3891137 - 0.597480) microuptime() went backwards (1.3891137 - 0.597795) microuptime() went backwards (1.3891137 - 0.598094) microuptime() went backwards (1.3891137 - 0.598412) microuptime() went backwards (1.3891137 - 0.598708) microuptime() went backwards (1.3891137 - 0.599019) microuptime() went backwards (1.3891137 - 0.599489) microuptime() went backwards (1.3891137 - 0.600060) microuptime() went backwards (1.3891137 - 0.600484) microuptime() went backwards (1.3891137 - 0.600921) microuptime() went backwards (1.3891137 - 0.601532) microuptime() went backwards (1.3891137 - 0.601965) microuptime() went backwards (1.3891137 - 0.602373) microuptime() went backwards (1.3891137 - 0.602789) microuptime() went backwards (1.3891137 - 0.603218) microuptime() went backwards (1.3891137 - 0.603658) microuptime() went
Re: load average is 1 when no processes active; etc.
On Sun, 10 Sep 2000, Valentin Nechayev wrote: `top -I' output: ==={ last pid: 811; load averages: 1.01, 0.97, 0.67up 0+00:16:12 23:26:26 This is because the idle process is always running (see "ps lax" outout). Perhaps the bug is that top doesn't show the idle process or other interesting kernel processes like the new interrupt processes. The same system has another strangeness - `microuptime() went backwards': ==={ /var/run/dmesg.boot ... IPv6 packet filtering initialized, default to accept, logging limited to 100 packets/entry IPsec: Initialized Security Association Processing. ncp_load: [210-213] IP Filter: v3.4.9 initialized. Default = pass all, Logging = enabled microuptime() went backwards (1.3891137 - 0.596214) microuptime() went backwards (1.3891137 - 0.596655) ... I get these at boot time on one machine but not on another very similar machine, and often after messing around with ddb. TSC timecounter in all cases. I think they are not a serious problem or related to old timecounter bugs, but they may be related to old bugs setting `switchtime'. Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message