Memkind 一些测试

测试 code

# cat memkindpool.c 
#include <stdio.h>
#include <memkind.h>
int main(int argc, char **argv){
    printf("argc [%d] \n", argc);
    struct memkind *pool = NULL;

    int res = -1;
    char *ptr = NULL;
    size_t capacity = 1;
    capacity = atoi(argv[1]);
    // 测试 16字节对齐
    size_t allocate_size = 17;
    allocate_size = atoi(argv[2]);
    printf("capacity [%d] , allocate_size [%d]\n", capacity, allocate_size);
    if((res = memkind_create_pmem("/mnt/pmem1/", capacity*1024*1024*1024, &pool)) == 0) {
        printf("CREATE OK, capacity [%d] \n", capacity);
    } else {
        printf("CREATE FAILED\n");
        return -1;
    }
    if ((ptr = memkind_malloc(pool, allocate_size)) != NULL) {
        printf("MALLOC OK\n");
    } else {
        printf("MALLOC FAILED\n");
        return -1;
    }
    if ((res = memkind_malloc_usable_size(pool, ptr)) != 0) {
        printf("GET USABLE SIZE OK [%d]\n", res);
    } else {
        printf("GET USABLE SIZE FAILED\n");
        return -1;
    }
    sleep(10);
    memkind_free(pool, ptr);
    printf("FREE OK\n");
    if((res = memkind_pmem_destroy(pool)) == 0) {
        printf("DESTROY OK\n");
    } else {
        printf("DESTROY FAILED\n");
        return -1;
    }
}

编译程序

gcc -W -o memkindpool memkindpool.c -lmemkind

检查有没有memkind 库

# ldconfig -v| grep memkind
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
	libmemkind.so.0 -> libmemkind.so.0.0.1

# ldd memkindpool
	linux-vdso.so.1 (0x00007ffdc2a83000)
	libmemkind.so.0 => /lib64/libmemkind.so.0 (0x00007fedd00dc000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fedcff16000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fedcff10000)
	libnuma.so.1 => /lib64/libnuma.so.1 (0x00007fedcff02000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fedcfee1000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fedd0387000)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值