Changeset 594
- Timestamp:
- 05/15/07 00:34:14 (2 years ago)
- Files:
-
- trunk/src/vcd/methods/vx/vx_limstatus.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/vcd/methods/vx/vx_limstatus.c
r590 r594 21 21 #include "vxdb.h" 22 22 23 #include <unistd.h> 23 24 #include <vserver.h> 24 25 #include <sys/resource.h> … … 27 28 28 29 static 30 int pagestobytes(int pages) { 31 int bytes; 32 bytes = (pages * getpagesize()) >> 10; 33 return bytes; 34 } 35 36 static 29 37 struct limit_data { 30 38 int id; 31 39 char *db; 40 int pagestobytes; 32 41 } LIMIT[] = { 33 { RLIMIT_AS, "mem_AS" },34 { RLIMIT_LOCKS, "file_LOCKS" },35 { RLIMIT_MEMLOCK, "mem_MEMLOCK" },36 { RLIMIT_MSGQUEUE, "ipc_MSGQUEUE" },37 { RLIMIT_NOFILE, "file_NOFILE" },38 { RLIMIT_NPROC, "sys_NPROC" },39 { RLIMIT_RSS, "mem_RSS" },40 { VLIMIT_ANON, "mem_ANON" },41 { VLIMIT_DENTRY, "file_DENTRY" },42 { VLIMIT_MAPPED, "sys_MAPPED" },43 { VLIMIT_NSEMS, "ipc_NSEMS" },44 { VLIMIT_NSOCK, "file_NSOCK" },45 { VLIMIT_OPENFD, "file_OPENFD" },46 { VLIMIT_SEMARY, "ipc_SEMARY" },47 { VLIMIT_SHMEM, "ipc_SHMEM" },48 { 0, NULL }42 { RLIMIT_AS, "mem_AS", 1 }, 43 { RLIMIT_LOCKS, "file_LOCKS", 0 }, 44 { RLIMIT_MEMLOCK, "mem_MEMLOCK", 1 }, 45 { RLIMIT_MSGQUEUE, "ipc_MSGQUEUE", 0 }, 46 { RLIMIT_NOFILE, "file_NOFILE", 0 }, 47 { RLIMIT_NPROC, "sys_NPROC", 0 }, 48 { RLIMIT_RSS, "mem_RSS", 1 }, 49 { VLIMIT_ANON, "mem_ANON", 1 }, 50 { VLIMIT_DENTRY, "file_DENTRY", 0 }, 51 { VLIMIT_MAPPED, "sys_MAPPED", 0 }, 52 { VLIMIT_NSEMS, "ipc_NSEMS", 0 }, 53 { VLIMIT_NSOCK, "file_NSOCK", 0 }, 54 { VLIMIT_OPENFD, "file_OPENFD", 0 }, 55 { VLIMIT_SEMARY, "ipc_SEMARY", 0 }, 56 { VLIMIT_SHMEM, "ipc_SHMEM", 0 }, 57 { 0, NULL, 0 } 49 58 }; 50 59 … … 92 101 } 93 102 103 int min = 0, cur = 0, max = 0; 104 105 if (LIMIT[i].pagestobytes == 1) { 106 min = pagestobytes((int) limstat.minimum); 107 cur = pagestobytes((int) limstat.value); 108 max = pagestobytes((int) limstat.maximum); 109 } 110 111 else { 112 min = (int) limstat.minimum; 113 cur = (int) limstat.value; 114 max = (int) limstat.maximum; 115 } 116 94 117 xmlrpc_array_append_item(env, response, xmlrpc_build_value(env, 95 118 "{s:s,s:i,s:i,s:i}", 96 119 "type", LIMIT[i].db, 97 "min", (int) limstat.minimum,98 "cur", (int) limstat.value,99 "max", (int) limstat.maximum));120 "min", min, 121 "cur", cur, 122 "max", max)); 100 123 } 101 124 }
