diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2004-01-26 20:53:51 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2004-01-26 20:53:51 +0000 |
| commit | 21b1cc6a449cd796eccfc0997113eb23e6be2233 (patch) | |
| tree | 46db5b3d8ec636b8a6e900ed9e4e8359641745ed /src | |
| parent | 3ef62f4c9c58bde4cca02146baeac478960754a7 (diff) | |
| download | zabbix-21b1cc6a449cd796eccfc0997113eb23e6be2233.tar.gz zabbix-21b1cc6a449cd796eccfc0997113eb23e6be2233.tar.xz zabbix-21b1cc6a449cd796eccfc0997113eb23e6be2233.zip | |
- fixed memory[cached] to work for both linux 2.4 and 2.6 (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@1208 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
| -rw-r--r-- | src/zabbix_agent/sysinfo.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/zabbix_agent/sysinfo.c b/src/zabbix_agent/sysinfo.c index 23732ee3..9756a91c 100644 --- a/src/zabbix_agent/sysinfo.c +++ b/src/zabbix_agent/sysinfo.c @@ -1402,7 +1402,31 @@ double CACHEDMEM(void) #ifdef HAVE_PROC /* Get CACHED memory in bytes */ /* return getPROC("/proc/meminfo",8,2);*/ - return getPROC("/proc/meminfo",2,7); +/* It does not work for both 2.4 and 2.6 */ +/* return getPROC("/proc/meminfo",2,7);*/ + FILE *f; + char *t; + char c[MAX_STRING_LEN]; + double result = FAIL; + + f=fopen("/proc/meminfo","r"); + if(NULL == f) + { + return FAIL; + } + while(NULL!=fgets(c,MAX_STRING_LEN,f)) + { + if(strncmp(c,"Cached:",7) == 0) + { + t=(char *)strtok(c," "); + t=(char *)strtok(NULL," "); + sscanf(t, "%lf", &result ); + break; + } + } + fclose(f); + + return result; #else return FAIL; #endif |
