http://www.linux.or.jp/JM/html/LDP_man-pages/man5/proc.5.html
http://d.hatena.ne.jp/inutch/20080114/1200298525
http://jo1upk.blogdns.net/linux/?proc
fs/proc/array.c
static int do_task_stat(struct task_struct *task, char * buffer, int whole)
fs/proc/proc_misc.c
void __init proc_misc_init(void) proc_create("diskstats", 0, NULL, &proc_diskstats_operations); static const struct file_operations proc_diskstats_operations = { .open = diskstats_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, }; static int diskstats_open(struct inode *inode, struct file *file) { return seq_open(file, &diskstats_op); }
include/linux/seq_file.h fs/seq_file.c
include/linux/sched.h
#define TASK_COMM_LEN 16 struct task_struct { ... char comm[TASK_COMM_LEN]; ... }
# format # IRQNUM cat /proc/interrupts
http://homepage3.nifty.com/owl_h0h0/unix/job/ORACLE/oracle/pmap_linux.html
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/ref-guide/s1-proc-directories.html
5.3.9.5. /proc/sys/vm/
カーネルをチューニングする
http://www.thinkit.co.jp/free/tech/23/5/
http://search.luky.org/linux-kernel.2004/msg29063.html