On Sat, 10 Nov 2007 00:38:23 +0000, Per Hedeland wrote: > In article <[EMAIL PROTECTED]> > [EMAIL PROTECTED] (Hal Murray) writes: >> >>>I known now, in the "recen"t kernel the internal frequency will be to >>>250 Mhz... >>>With my gentoo it's not a problem for me because i make myself my kernel >>>... but if i take Mandriva or a another distribution how find this >>>values ? >> >>I assume you mean the scheduling clock which would be 250 Hz rather than >>MHz. >> >>One way is to look in the kernel souces. >> >>Another way is to measure it. Write a program that usleeps for a >>microsecond and see how long it really takes. (Do it in a loop for 1000 >>tries and print out a histogram.) > > On Linux, a simpler way can be to look at /proc/interrupts - e.g. > (probably Linux-version- and possibly config-specific): > > $ (cat /proc/interrupts; sleep 10; cat /proc/interrupts) | \ > awk '/timer/{prev=now; now=$2} END{printf "%dHz\n", int((now-prev)/10)}'
This doesn't work on multi-CPU systems. : cat /proc/interrupts |grep timer 0: 129602418 129428516 IO-APIC-edge timer You need to sum across all CPUs. A bit more complex: -------------- snip -------------- #!/usr/bin/perl -w $cpus=`grep -c processor /proc/cpuinfo`; $_=`grep timer /proc/interrupts`; @prev=split(); sleep 10; $_ =`grep timer /proc/interrupts`; @now =split(); for (1..$cpus) { $prev+=$prev[$_]; $now+=$now[$_]} printf "%dHz\n", int(($now-$prev)/10); -------------- snip -------------- -- 2007/11/13:11:39:48UTC Slackware Linux 2.4.32 up 29 days, 23:31, 6 users, load average: 2.18, 2.26, 2.25 _______________________________________________ questions mailing list questions@lists.ntp.org https://lists.ntp.org/mailman/listinfo/questions