linux下有没有可以查看类对象的内存布局的

linux下有没有可以查看类对象的内存布局的,第1张

这个要用调试器来查看吧,调试器能够查看当前调试程序的内存空间,在调试器中定位到一个内存地址,再结合实际代码就可以查看内存布局,当然,类对象的内存空间也一目了然,查看函数的调用栈都是可以的。

可以直接输入top

然后 按P – 以 CPU 占用率大小的顺序排列进程列表

按M – 以内存占用率大小的顺序排列进程列表

另外,查看某一应用占用内存大小

方法一:通过进程号查看

# 例如查看kafka资源使用情况

# 查看kafka进程号

ps -ef | grep kafka

# 查看进程号占用资源(159156为ps得到的进程号)

top -p 159156

# 或者查看进程的status文件(159156为ps得到的进程号) ,VmRSS对应的值就是物理内存占用

cat /proc/159156/status

方法2:ps命令直接使用任务名

# 显示的第六个参数就是物理内存占用

ps -aux | grep kafka

# 查看内存占用前10名的程序

ps aux | sort -k4,4nr | head -n 10

3)对free -h 查看到的buff/cache 进行回收

# 在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的 *** 作

cat /proc/sys/vm/drop_caches

# 这个文件可以设置的值分别为1、2、3。它们所表示的含义为:

# 表示清除 page cache。

echo 1 >/proc/sys/vm/drop_caches

# 表示清除回收 slab 分配器中的对象(包括目录项缓存和 inode 缓存)。slab 分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的 page cache。

echo 2 >/proc/sys/vm/drop_caches

# 表示清除 page cache 和 slab 分配器中的缓存对象。

echo 3 >/proc/sys/vm/drop_caches


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7614178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存