This is a rough roadmap to complete the project
Legend
* - Has already been implemented.
** - I already know the where the information is exactly available.
*** - I know where the information is available roughly, but need to look in detail to extract the exact information.
**** - The information may be available, but needs to be searched to know where it will be.
***** - I fear information may not be available.
~~~~~ - Need not be implemented.
File
/proc/<PID>/stat
* pid
* comm
* state
* ppid
* pgrp
* session
* tty_nr
* tpgid
** minflt
The number of minor faults the process has made which have not required loading a memory page
from disk.
*** cminflt
The number of minor faults that the process’s waited-for children have made.
** majflt
The number of major faults the process has made which have required loading a memory page from
disk.
*** cmajflt
The number of major faults that the process’s waited-for children have made.
** utime
The number of jiffies that this process has been scheduled in user mode.
** stime
The number of jiffies that this process has been scheduled in kernel mode.
** cutime
The number of jiffies that this process’s waited-for children have been scheduled in user
mode.
** cstime
The number of jiffies that this process’s waited-for children have been scheduled in kernel mode.
** priority
The standard nice value, plus fifteen. The value is never negative in the kernel.
*** nice
The nice value ranges from 19 to -19.
** num_threads
Number of threads in this process.
*** starttime
The time in jiffies the process started after system boot.
**** vsize
Virtual memory size in bytes.
** rss
Resident Set Size: number of pages the process has in real memory, minus 3 for administrative
purposes. This is just the pages which count towards text, data, or stack space. This does not
include pages which have not been demand-loaded in, or which are swapped out.
*** signal
The bitmap of pending signals.
*** blocked
The bitmap of blocked signals.
*** sigignore
The bitmap of ignored signals.
*** sigcatch
The bitmap of caught signals.
** policy
Scheduling policy (see sched_setscheduler(2)).
File
/proc/<PID>/statm
** resident
resident set size
*** size
total program size
*** text
text (code)
Other Per-PID Files
** /proc/<PID>/cwd
** /proc/<PID>/exe
** /proc/<PID>/environ
Non Per-PID Files
** /proc/version
File
/proc/<PID>/stat
**** rlim
Current limit in bytes on the rss of the process (usually 4294967295 on i386).
**** startcode
The address above which program text can run.
**** endcode
The address below which program text can run.
**** startstack
The address of the start of the stack.
**** kstkesp
The current value of esp (stack pointer), as found in the kernel stack page for the process.
**** kstkeip
The current EIP (instruction pointer).
**** exit_signal
Signal to be sent to parent when we die.
File
/proc/<PID>/statm
**** share
shared pages
**** data
data/stack
Other Per-PID File
**** /proc/<PID>/root
Non Per-PID Files
**** /proc/stat
**** /proc/meminfo
File
/proc/<PID>/stat
***** wchan
This is the "channel" in which the process is waiting. It is the address of a system call, and
can be looked up in a namelist if you need a textual name. (If you have an up-to-date
/etc/psdatabase,
***** processor
CPU number last executed on.
***** rt_priority
Real-time scheduling priority
***** delayacct_blkio_ticks
Aggregated block I/O delays, measured in clock ticks (centiseconds).
***** flags ~~~~~ itrealvalue ~~~~~ nswap ~~~~~ cnswap ~~~~~ lib ~~~~~ dt -- Happy hack,
PF_* fields defined in
The time in jiffies before the next SIGALRM is sent to the process due to an interval timer.
Number of pages swapped (not maintained).
Cumulative nswap for child processes (not maintained).File
/proc/<PID>/statm
library (not required)
dirty pages (not required)
Madhusudan.C.S, one who always loves to Hack Kernel code
