0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器上空闲内存不足是什么原因

Linux阅码场 来源:相遇Linux 作者:JeffXie 2021-09-17 09:38 次阅读

一天,有人报上了一个问题,发现一台服务器上空闲内存不足,slab占用了40多G,想知道什么原因,然后拉我进入在线会议远程看看。

我进入会议常规检测一番,于是想看看哪个slab占用内存比较多,直接上小脚本:

while sleep 1; do cat /proc/slabinfo | awk ‘{name=$1; size=$2*$4/4096; printf “%s %lu

”, name, size;}’ | sort -n -r -k 2 | head -n 20; echo “--------------”;done;

结果显示类似如下:

TCPv6 9347580 (单位:4K, 大约36G)

inode_cache 3519

ext3_inode_cache 3427

dentry 2285

kmem_cache 1389

sysfs_dir_cache 832

buffer_head 682

radix_tree_node 675

vm_area_struct 505

size-2048 500

task_struct 496

size-1024 464

。..

可以看到TCPv6占用了36G左右, 然后会议上有个负责业务应用的妹子问,能知道是哪个进程占用的吗?

我装着不忙地喝了一口百岁山,于是派上trace_event出场:(以下操作过程中全场安静,都盯着我的键盘输出)

首先通过/proc/slabinfo 查看到TCPv6 object size=1856,然后:

cd /sys/kernel/debug/tracing/echo ‘bytes_alloc==1856’ 》events/kmem/kmem_cache_alloc/filterecho 1 》 。/options/stacktracecat 。/trace

从。/trace中打印出的堆栈信息和进程号,确认是他们的业务进程xxx正在干什么事(已排除内存泄漏)

这时候妹子抢占了会上所有人的讲话,笑着说:“能把history打印出来吗?”,连续提醒了我三次,说想学习一下。《真是一个好学的童鞋 :-)》

这个时候本想顺道宣传一下我在阅码场发布的tracers视频课程,视频课程里面各个traces都有很详细的讲解和案例。

但是工作时间要体现一定的专业和严肃性,并没有宣传,如果她有机会能看到这篇公众号之后再去订阅会更好:-)

最后我又喝下一口百岁山, 敲下history | tail -20 之后独自退出了会议。..

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9237

    浏览量

    85666
  • 内存
    +关注

    关注

    8

    文章

    3037

    浏览量

    74149

原文标题:吸引住妹子的trace_event技术

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    labview完成该操作内存不足

    程序运行一段时间后显示内存不足 这是为什么?是否是程序结构冗余?
    发表于 01-04 14:26

    虚拟内存不足如何解决 虚拟内存和物理内存的区别

    虚拟内存不足的解决方案 虚拟内存不足是计算机用户经常遇到的问题,尤其是在运行大型软件或多任务处理时。以下是一些解决虚拟内存不足问题的方法: 增加物理内存(RAM) : 这是最直接的解决
    的头像 发表于 12-04 09:14 484次阅读

    RAM内存不足的表现及解决方法

    RAM内存不足的表现及解决方法 一、RAM内存不足的表现 系统运行缓慢 当RAM内存不足时,计算机的响应速度会明显下降,打开程序或文件需要更长的时间。 频繁的页面交换(Page Swapping
    的头像 发表于 11-11 09:53 1349次阅读

    服务器连接不上是什么原因引起的?

    服务器连接不上是一个常见的问题,常见的原因有网络连接、账户权限、安全组设置、服务器状态、端口占用、远程登录未开启、云服务器已关闭或到期、防护软件限制、DNS劫持、资源负载过高。
    的头像 发表于 09-26 11:11 238次阅读

    ESP8266与IE相比,Chrome/Mozilla中的TCP服务器速度较慢是什么原因

    我正在尝试将 ESP8266-01 模块用于一个项目。我将其用作TCP服务器。我注意到浏览 Chrome 和 Mozilla 的服务器响应速度非常慢。但是,当我使用IE浏览时,
    发表于 07-22 06:44

    使用SDK中的MQTT连接服务器,导致mqtt永远断开,请问是什么原因

    使用SDK中的MQTT连接服务器,由于wifi信号不好会经常出现断网重新连接的情况,重连次数多了以后MQTT_Connect函数中的espconn_gethostbyname返回Out of memory error,导致mqtt永远断开,请问是什么原因?谢谢!
    发表于 07-19 14:37

    ESP32-S3-DevKitC-1-N8R8烧录提示内存不足,为什么?

    买的ESP32-S3-DevKitC-1-N8R8,烧录官方Blink Example提示Total image size:256369 bytes (.bin may be padded larger),是因为内存不足吗?
    发表于 07-19 08:22

    (RTOS_SDK)mbedtls_ssl_write内存不足怎么解决?

    当堆内存不足时,该函数mbedtls_ssl_write永远卡住,大约3-4kb的堆。ssl_write将永远阻塞,直到您重置设备,它仅在堆内存不足时发生。当写入永远阻塞时,中断仍然有效。请进
    发表于 07-17 07:57

    聚徽触控-工控一体机内存不足怎么办

    工控机,作为一种工业控制设备,与我们日常使用的电脑有很多相似之处。在使用过程中,我们也可能会遇到各种问题,其中内存不足是一个较为常见的问题,特别是在一些较旧的工控机设备上更容易出现。那么,当工控机内存不足时,我们应该如何解决呢?
    的头像 发表于 05-30 10:17 451次阅读

    STM8L051片子使用重定向printf函数时总是报错,没办法引用printf函数是什么原因

    STM8L051片子使用重定向printf函数时总是报错,没办法引用printf函数,不知道是什么原因,使用的是IAR编译,总是报内存不足的错误,,求大神指导
    发表于 04-28 08:05

    cubeide创建项目时运行缓慢,弹出内存不足错误unhandled error java heap space怎么解决?

    如题,创建了一个非常简单的iic通讯工程,配置的时候非常煎熬,每点击一下要等待几秒钟,cpu占用拉满,配置完成构建项目等待几秒之后报错内存不足错误unhandled error java heap
    发表于 04-01 08:08

    站群服务器需要多大内存

    站群服务器内存需求取决于网站的数量和流量,以及服务器需要运行的应用和服务。RAKsmart小编为您整理发布站群服务器需要多大
    的头像 发表于 03-04 09:48 418次阅读

    服务器远程不上服务器怎么办?服务器无法远程的原因是什么?

    产生问题的原因,检查硬盘和服务器系统。通过日志和检查数据来确认问题出 现的原因以及如何解决。 三、端口问题 1.端口错误 找回正确的端口或更换远程端口 2.端口被扫爆 更改端口,并在防火墙禁止扫爆的IP
    发表于 02-27 16:21

    linux服务器和windows服务器

    ,这在满足个性化需求和增强服务器安全 性上具有优势。 Linux服务器还具有出色的性能和稳定性。相比之下,Windows服务器在性能和稳定性方面稍有不足。特别是在处理高负载和 大数据量
    发表于 02-22 15:46

    服务器内存条和普通内存条的区别

    服务器内存条和普通内存条的区别  服务器内存条和普通内存条是计算机中常见的两种
    的头像 发表于 02-19 10:19 8915次阅读