Linux/Unix中C++使用共享内存创建消息队列通信如何实现阻塞效果?
消息队列函数msgrcv的最后一个参数本身就有阻塞的选项,请详看函数定义。
linux清理内存空间?
1、使用free命令查看一下当前内存使用情况
free total used free shared buffers cachedMem: 16621896 8967952 7653944 0 212352 8377276-/+ buffers/cache: 378324 16243572Swap: 10241428 0 10241428#针对free命令后出现的信息解释#total:总计物理内存的大小#used:已使用多大#free:可用有多少#Shared:多个进程共享的内存总额#Buffers/cached:磁盘缓存的大小
2、执行sync同步数据
sync#该命令将未写的系统缓冲区写到磁盘中#包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。
3、清理cache(缓存)
echo 3 > /proc/sys/vm/drop_caches freetotal used free shared buffers cachedMem: 16621896 579592 16042304 0 268 308708-/+ buffers/cache: 270616 16351280Swap: 10241428 0 10241428
4、对比步骤1和3的free命令,used(减少)、free(增大)对应Mem部分就清楚了,cache(缓存)被清理掉了。