mem
This commit is contained in:
parent
34f959eb0e
commit
208f4aeac2
1
.gitignore
vendored
1
.gitignore
vendored
@ -202,3 +202,4 @@ fabric.properties
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
vperf
|
||||
test/
|
||||
|
||||
@ -10,6 +10,7 @@ add_definitions('-Wall')
|
||||
|
||||
|
||||
add_executable(${PROJECT_NAME} main.c test.c)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build/)
|
||||
|
||||
#add_custom_target(${PROJECT_NAME}-symlink ALL ln --force -s ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/${PROJECT_NAME} DEPENDS ${PROJECT_NAME})
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME})
|
||||
|
||||
47
build/meminfo
Normal file
47
build/meminfo
Normal file
@ -0,0 +1,47 @@
|
||||
MemTotal: 4169396 kB
|
||||
MemFree: 3468580 kB
|
||||
MemAvailable: 3660912 kB
|
||||
Buffers: 3268 kB
|
||||
Cached: 378088 kB
|
||||
SwapCached: 0 kB
|
||||
Active: 261560 kB
|
||||
Inactive: 257688 kB
|
||||
Active(anon): 133856 kB
|
||||
Inactive(anon): 8456 kB
|
||||
Active(file): 127704 kB
|
||||
Inactive(file): 249232 kB
|
||||
Unevictable: 0 kB
|
||||
Mlocked: 0 kB
|
||||
SwapTotal: 2097148 kB
|
||||
SwapFree: 2097148 kB
|
||||
Dirty: 4 kB
|
||||
Writeback: 0 kB
|
||||
AnonPages: 136036 kB
|
||||
Mapped: 143540 kB
|
||||
Shmem: 8676 kB
|
||||
KReclaimable: 39372 kB
|
||||
Slab: 106852 kB
|
||||
SReclaimable: 39372 kB
|
||||
SUnreclaim: 67480 kB
|
||||
KernelStack: 2832 kB
|
||||
PageTables: 6408 kB
|
||||
NFS_Unstable: 0 kB
|
||||
Bounce: 0 kB
|
||||
WritebackTmp: 0 kB
|
||||
CommitLimit: 4181844 kB
|
||||
Committed_AS: 784436 kB
|
||||
VmallocTotal: 34359738367 kB
|
||||
VmallocUsed: 0 kB
|
||||
VmallocChunk: 0 kB
|
||||
HardwareCorrupted: 0 kB
|
||||
AnonHugePages: 30720 kB
|
||||
ShmemHugePages: 0 kB
|
||||
ShmemPmdMapped: 0 kB
|
||||
HugePages_Total: 0
|
||||
HugePages_Free: 0
|
||||
HugePages_Rsvd: 0
|
||||
HugePages_Surp: 0
|
||||
Hugepagesize: 2048 kB
|
||||
Hugetlb: 0 kB
|
||||
DirectMap4k: 138176 kB
|
||||
DirectMap2M: 4360192 kB
|
||||
@ -13,5 +13,6 @@
|
||||
|
||||
double get_sqrt(double var1);
|
||||
|
||||
void updateMem(unsigned int *all, unsigned int *fre, float *useage);
|
||||
|
||||
#endif /* !TEST_H */
|
||||
|
||||
25
main.c
25
main.c
@ -7,13 +7,30 @@
|
||||
|
||||
#include<stdio.h>
|
||||
#include"./include/test.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#define MAX_LINE 1024
|
||||
struct memGlobal {
|
||||
unsigned int All;
|
||||
float Useage;
|
||||
unsigned int Free;
|
||||
} memG;
|
||||
|
||||
struct cpuGlobal {
|
||||
float Useage;
|
||||
} cpuG;
|
||||
|
||||
struct process {
|
||||
char Name[128];
|
||||
unsigned id;
|
||||
float cpu;
|
||||
float mem;
|
||||
} pList[1024];
|
||||
|
||||
int main()
|
||||
{
|
||||
double b=25.0;
|
||||
double a=0.0;
|
||||
a=get_sqrt(b);
|
||||
printf("a is %lf, b is %lf\n",a,b);
|
||||
updateMem(&memG.All, &memG.Free, &memG.Useage);
|
||||
printf("mem: all %u free: %u usage: %f\n", memG.All, memG.Free, memG.Useage);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
18
test.c
18
test.c
@ -6,9 +6,25 @@
|
||||
*/
|
||||
|
||||
#include "./include/test.h"
|
||||
|
||||
#include<stdio.h>
|
||||
#define MAX_LINE 1024
|
||||
|
||||
double get_sqrt(double var1)
|
||||
{
|
||||
return sqrt(var1);
|
||||
}
|
||||
|
||||
void updateMem(unsigned int *all, unsigned int *fre, float *useage) {
|
||||
char buf[MAX_LINE]; /*缓冲区*/
|
||||
FILE *fp; /*文件指针*/
|
||||
if((fp = fopen("./meminfo","r")) == NULL)
|
||||
{
|
||||
perror("fail to read");
|
||||
return;
|
||||
}
|
||||
fgets(buf,MAX_LINE,fp);
|
||||
sscanf(buf, "%*s %u kB",all);
|
||||
fgets(buf,MAX_LINE,fp);
|
||||
sscanf(buf, "%*s %u kB",fre);
|
||||
*useage = 1 - (float) *fre / *all;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user