我已经研究了提到在SMP系统上安装irqbalance(
http://www.irqbalance.org/)的linux服务器调优文档.我现在正在四核系统上看它,虽然“ps axf”可以告诉我它正在运行,但我没有看到任何类型的统计数据或信息是否/如何影响系统.
谁知道在哪里看?
解决方法
在源代码中,他们引用/ proc几次.也许你在那里找到答案.
root @ [/usr/local / src / irqbalance-0.55] egrep -ri“proc | sys”*
root @ [/usr/local / src / irqbalance-0.55] egrep -ri“proc | sys”*
activate.c: sprintf(buf,"/proc/irq/%i/smp_affinity",irq->number); cpumask.h: * set of cpu's in a system,one bit position per cpu number. cpumask.h: * The following particular system cpumasks and operations manage cpumask.h: * be plugged in at anytime during the life of that system boot. cpumask.h:int highest_possible_processor_id(void); cputree.c: * This file contains the code to construct and manipulate a hierarchy of processors,cputree.c: * cache domains and processor cores. cputree.c:#include <sys/types.h> cputree.c: dir = opendir("/sys/devices/system/cpu"); cputree.c: sprintf(new_path,"/sys/devices/system/cpu/%s",entry->d_name); irqbalance.c:#include <sys/time.h> irqbalance.c: /* On single core UP systems irqbalance obvIoUsly has no work to do */ irqbalance.c: /* On dual core/hyperthreading shared cache systems just do a one shot setup */ irqbalance.c: parse_proc_interrupts(); irqbalance.c: parse_proc_interrupts(); irqbalance.c: parse_proc_interrupts(); irqbalance.c: /* cope with cpu hotplug -- detected during /proc/interrupts parsing */ irqbalance.h:extern void parse_proc_interrupts(void); irqlist.c:#include <sys/types.h> irqlist.c: * This function classifies and reads varIoUs things from /proc about a specific irq irqlist.c: sprintf(buf,"/proc/irq/%i",number); irqlist.c: sprintf(buf,number); Makefile:LIBS=bitmap.o irqbalance.o cputree.o procinterrupts.o irqlist.o placement.o activate.o network.o powermode.o numa.o classify.o network.c:#include <sys/ioctl.h> network.c: sprintf(buffer,"/sys/bus/pci/devices/%s/irq",driver.bus_info); network.c: file = fopen("/proc/net/dev","r"); numa.c:#include <sys/types.h> numa.c: dir = opendir("/sys/bus/pci/devices"); numa.c: sprintf(line,entry->d_name); numa.c: sprintf(line,"/sys/bus/pci/devices/%s/class","/sys/bus/pci/devices/%s/local_cpus",entry->d_name); numa.c: * Ethernet gets the type via /proc/net/dev; in addition down'd interfaces powermode.c: file = fopen("/proc/stat","r"); powermode.c: dummy = strtoull(c,&c,10); /* system */ procinterrupts.c:void parse_proc_interrupts(void) procinterrupts.c: file = fopen("/proc/interrupts","r");