1 /* 2 ** structure containing only relevant process-info extracted 3 ** from kernel's process-administration 4 */ 5 struct tstat_26 { 6 /* GENERAL TASK INFO */ 7 struct gen_26 { 8 int tgid; /* threadgroup identification */ 9 int pid; /* process identification */ 10 int ppid; /* parent process identification*/ 11 int ruid; /* real user identification */ 12 int euid; /* eff. user identification */ 13 int suid; /* saved user identification */ 14 int fsuid; /* fs user identification */ 15 int rgid; /* real group identification */ 16 int egid; /* eff. group identification */ 17 int sgid; /* saved group identification */ 18 int fsgid; /* fs group identification */ 19 int nthr; /* number of threads in tgroup */ 20 char name[PNAMLEN+1];/* process name string */ 21 char isproc; /* boolean: process level? */ 22 char state; /* process state ('E' = exited) */ 23 int excode; /* process exit status */ 24 time_t btime; /* process start time (epoch) */ 25 time_t elaps; /* process elaps time (hertz) */ 26 char cmdline[CMDLEN+1];/* command-line string */ 27 int nthrslpi; /* # threads in state 'S' */ 28 int nthrslpu; /* # threads in state 'D' */ 29 int nthrrun; /* # threads in state 'R' */ 30 31 int ctid; /* OpenVZ container ID */ 32 int vpid; /* OpenVZ virtual PID */ 33 34 int wasinactive; /* boolean: task inactive */ 35 36 char container[16]; /* Docker container id (12 pos) */ 37 } gen; 38 39 /* CPU STATISTICS */ 40 struct cpu_26 { 41 count_t utime; /* time user text (ticks) */ 42 count_t stime; /* time system text (ticks) */ 43 int nice; /* nice value */ 44 int prio; /* priority */ 45 int rtprio; /* realtime priority */ 46 int policy; /* scheduling policy */ 47 int curcpu; /* current processor */ 48 int sleepavg; /* sleep average percentage */ 49 int ifuture[4]; /* reserved for future use */ 50 char wchan[16]; /* wait channel string */ 51 count_t rundelay; /* schedstat rundelay (nanosec) */ 52 count_t cfuture[1]; /* reserved for future use */ 53 } cpu; 54 55 /* DISK STATISTICS */ 56 struct dsk_26 { 57 count_t rio; /* number of read requests */ 58 count_t rsz; /* cumulative # sectors read */ 59 count_t wio; /* number of write requests */ 60 count_t wsz; /* cumulative # sectors written */ 61 count_t cwsz; /* cumulative # written sectors */ 62 /* being cancelled */ 63 count_t cfuture[4]; /* reserved for future use */ 64 } dsk; 65 66 /* MEMORY STATISTICS */ 67 struct mem_26 { 68 count_t minflt; /* number of page-reclaims */ 69 count_t majflt; /* number of page-faults */ 70 count_t vexec; /* virtmem execfile (Kb) */ 71 count_t vmem; /* virtual memory (Kb) */ 72 count_t rmem; /* resident memory (Kb) */ 73 count_t pmem; /* resident memory (Kb) */ 74 count_t vgrow; /* virtual growth (Kb) */ 75 count_t rgrow; /* resident growth (Kb) */ 76 count_t vdata; /* virtmem data (Kb) */ 77 count_t vstack; /* virtmem stack (Kb) */ 78 count_t vlibs; /* virtmem libexec (Kb) */ 79 count_t vswap; /* swap space used (Kb) */ 80 count_t vlock; /* virtual locked (Kb) */ 81 count_t cfuture[3]; /* reserved for future use */ 82 } mem; 83 84 /* NETWORK STATISTICS */ 85 struct net_26 { 86 count_t tcpsnd; /* number of TCP-packets sent */ 87 count_t tcpssz; /* cumulative size packets sent */ 88 count_t tcprcv; /* number of TCP-packets recved */ 89 count_t tcprsz; /* cumulative size packets rcvd */ 90 count_t udpsnd; /* number of UDP-packets sent */ 91 count_t udpssz; /* cumulative size packets sent */ 92 count_t udprcv; /* number of UDP-packets recved */ 93 count_t udprsz; /* cumulative size packets sent */ 94 count_t avail1; /* */ 95 count_t avail2; /* */ 96 count_t cfuture[4]; /* reserved for future use */ 97 } net; 98 99 struct gpu_26 { 100 char state; // A - active, E - Exit, '\0' - no use 101 char cfuture[3]; // 102 short nrgpus; // number of GPUs for this process 103 int32_t gpulist; // bitlist with GPU numbers 104 105 int gpubusy; // gpu busy perc process lifetime -1 = n/a 106 int membusy; // memory busy perc process lifetime -1 = n/a 107 count_t timems; // milliseconds accounting -1 = n/a 108 // value 0 for active process, 109 // value > 0 after termination 110 111 count_t memnow; // current memory consumption in KiB 112 count_t memcum; // cumulative memory consumption in KiB 113 count_t sample; // number of samples 114 } gpu; 115 };