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
|
.idea/caches/build_file_checksums.ser
|
||||||
|
|
||||||
vperf
|
vperf
|
||||||
|
test/
|
||||||
|
|||||||
@ -10,6 +10,7 @@ add_definitions('-Wall')
|
|||||||
|
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} main.c test.c)
|
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})
|
#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})
|
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);
|
double get_sqrt(double var1);
|
||||||
|
|
||||||
|
void updateMem(unsigned int *all, unsigned int *fre, float *useage);
|
||||||
|
|
||||||
#endif /* !TEST_H */
|
#endif /* !TEST_H */
|
||||||
|
|||||||
25
main.c
25
main.c
@ -7,13 +7,30 @@
|
|||||||
|
|
||||||
#include<stdio.h>
|
#include<stdio.h>
|
||||||
#include"./include/test.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()
|
int main()
|
||||||
{
|
{
|
||||||
double b=25.0;
|
updateMem(&memG.All, &memG.Free, &memG.Useage);
|
||||||
double a=0.0;
|
printf("mem: all %u free: %u usage: %f\n", memG.All, memG.Free, memG.Useage);
|
||||||
a=get_sqrt(b);
|
|
||||||
printf("a is %lf, b is %lf\n",a,b);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
test.c
18
test.c
@ -6,9 +6,25 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "./include/test.h"
|
#include "./include/test.h"
|
||||||
|
#include<stdio.h>
|
||||||
|
#define MAX_LINE 1024
|
||||||
|
|
||||||
double get_sqrt(double var1)
|
double get_sqrt(double var1)
|
||||||
{
|
{
|
||||||
return sqrt(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