This commit is contained in:
veypi 2021-07-18 08:35:48 +08:00
parent 34f959eb0e
commit 208f4aeac2
6 changed files with 88 additions and 5 deletions

1
.gitignore vendored
View File

@ -202,3 +202,4 @@ fabric.properties
.idea/caches/build_file_checksums.ser
vperf
test/

View File

@ -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
View 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

View File

@ -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
View File

@ -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
View File

@ -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;
}