}
psnap->heap = heap >> 10;
+
+ // ...
+ struct mallinfo mi = mallinfo();
+
+ psnap->malloc = mi.uordblks >> 10;
+ psnap->mmap = mi.hblks >> 10;
+
+
+ ofstream log("/tmp/memlog", ios::app);
+ log << "heap " << heap
+ << "\trss " << psnap->rss
+ << "\tmi\t" << mi.arena
+ << "\t" << mi.ordblks
+ << "\t" << mi.uordblks / 1024
+ << "\t" << mi.fordblks / 1024
+ << "\t" << mi.hblks
+ << "\t" << mi.hblkhd / 1024
+ << std::endl;
}
int data;
int lib;
- int heap;
+ int heap, malloc, mmap;
int get_total() { return size; }
int get_rss() { return rss; }
float caps_per_inode = (float)num_caps / (float)inode_map.size();
//float cap_rate = (float)num_inodes_with_caps / (float)inode_map.size();
- dout(10) << "check_memory_usage"
+ dout(0) << "check_memory_usage"
<< " total " << last.get_total()
<< ", rss " << last.get_rss()
<< ", heap " << last.get_heap()
+ << ", malloc " << last.malloc << " mmap " << last.mmap
<< ", baseline " << baseline.get_heap()
<< ", buffers " << (buffer_total_alloc.test() >> 10)
<< ", max " << g_conf.mds_mem_max