首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分享Linux内存占用几个案例

案例一 问题 最近一台 CentOS 服务器,发现内存无端损失了许多,free 和 ps 统计的结果相差十几个G,非常奇怪,后来Google了许久才搞明白。...分析 1、linux系统内存消耗主要有三个地方: 进程 slab pagecacge 用 free 命令查看到的是系统整体的内容使用情况,而使用 ps 和 top 看到的内存使用情况都是以进程维度来看的...案例二 (物理内存的外碎片回收) 问题 执行 docker ps 命令挂住 问题分析 查找 /var/log/messages,发现有错误信息:XFS: possible memory allocation...当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory),它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。...p=102 案例一原文出处:http://blog.atime.me/research/linux-ate-my-memory.html 案例二原文出处:https://www.cnblogs.com

3.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

故障分析 | MySQL死锁案例分析

作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。...本次分享的一个死锁案例是 涉及通过辅助索引的更新以及通过主键删除导致的死锁。希望能够对想了解死锁的朋友有所帮助。...二 案例分析2.1 业务逻辑select for update 表记录并加上 x 锁,查询数据,做业务逻辑处理,然后删除该记录。还有其他业务逻辑要更新记录,导致死锁。...另外文章的最后我们再次复习一下 MySQL 的加几个基本原则,方便大家后面遇到死锁案例进行分析:原则 1:加锁的基本单位是 next-key lock。原则 2:查找过程中访问到的对象才会加锁。

78130

Linux内核的内存管理与漏洞利用案例分析

本文主要介绍Buddy System、Slab Allocator的实现机制以及现实中的一些漏洞利用方法,从攻击者角度加深对Linux内核内存管理机制的理解。...前言 网上已经有很多关于Linux内核内存管理的分析和介绍了,但是不影响我再写一篇:) 一方面是作为其他文章的补充,另一方面则自己学习的记录、总结和沉淀。...使用Buddy算法的的应用有很多,其中Linux内核就是一个,此外jemalloc也是使用Buddy技术的一个现代内存分配器。...ABI/testing/sysfs-kernel-slab Documentation/vm/slub.txt slabinfo(7) 直接从实现角度分析也许理解得不是很深刻,下面就来看几个实际的攻击案例...案例1:内核堆溢出漏洞利用 第一种类型是内核堆溢出漏洞。假如我们使用kmalloc分配了一个大小为30字节的对象,根据配置不同很可能会使用到名为kmalloc-32的kmem_cache去进行分配。

1.1K20

故障分析 | MySQL死锁案例分析

作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。...本次分享的死锁案例是 更新不存在的记录加上 X GAP lock 和 insert 的意向锁冲突。希望能够对想了解死锁的朋友有所帮助。...二 案例分析2.1 业务逻辑业务逻辑: 业务需要并发不同数据(insert+update),首先是更新记录,如果发现更新的 affect rows 为0,然后就执行插入,如果插入失败,再执行更新。...另外文章的最后我们再次复习一下 MySQL 的加几个基本原则,方便大家后面遇到死锁案例进行分析:原则 1:加锁的基本单位是 next-key lock。原则 2:查找过程中访问到的对象才会加锁。

70540

记一次Linux主机内存脏数据引发的NameNode故障

问题排查思路是: 接收到主机网络不通告警; 接收到其上namenode服务STOP告警; 查看备节点是否成功切换为主节点; 查看zkfc日志确定failover原因; 重启(如果需要)故障主机,备份日志...,启动nn服务,查看主机日志确认主机故障原因。...IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。 这个Linux延迟写机制带来的问题,并且在主机内存越大时,出现该问题的可能性更大。...举一个例子,我有32G内存,那么有3.2G的内存可以待着内存里,超过3.2G的话就会有后来进程来清理它。...参考 关于Linux内核延迟写机制,可以学习以下文章:http://ilinuxkernel.com/?

1K20

Redis 内存优化案例

的配置文件中有这么两项配置: hash-max-ziplist-entries 512 hash-max-ziplist-value 64 其中的‘ziplist’代表数据结构,是一种数据压缩方式,作用是减少内存的使用空间...hash-max-ziplist-value 64 当hashtable中每个key/value的长度都小于64字节时,使用ziplist 以上2个条件中,任意一个条件超过设置值时,就不再使用ziplist了 案例...之前在网上看过一个案例,介绍了Instagram使用这项配置的实践经验 Instagram是一个超大型的图片类应用,他们有一个需求: 根据图片ID得到作者ID 最简单的实现方式就是使用string...类型 图片ID为KEY,作者ID为VALUE,一条一条的set/get 经测试,图片量为3亿时,一共需要20G左右的内存 经过一些优化后,效果不明显,他们便向Redis的一个开发者咨询解决方案 得到的建议是...: 对数据进行分段,使用hash结构 因为hash结构在一定数据量下会进行压缩存储,可以节约很多内存 经过反复测试,在他们的环境下,entries阀值为1000时最合适,超过的话,CPU的压力较大

1.4K70

故障分析 | MySQL 优化案例 - select count(*)

---- 本文关键字:count、SQL、二级索引 相关文章推荐: 故障分析 | MySQL 优化案例 - 字符集转换 技术分享 | MySQL 监控利器之 Pt-Stalk 一、故事背景 项目组联系我说是有一张...这里我们由于走的是主键索引,所以 MySQL 需要先把整个主键索引读取到内存缓冲区,这是个从磁盘读写到内存的过程,而且主键索引基本等于整个表数据量(10GB+),所以非常耗时! 那么如何解决呢?...再次重启 MySQL,保证内存缓冲区为空; 6. 再次执行 select count(*),理论上走二级索引; 7. 再次查看内存缓冲区中缓存的数据量(理论上只会缓存二级索引)。...聚簇索引 查询当前内存缓冲区状态,结果为空证明不缓存测试表数据。...key_len: 4 ref: NULL rows: 5117616 filtered: 100.00 Extra: Using index 七、案例总结

5.3K30

Linux 网络延迟故障排查

Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。...但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。...因此,在实际应用中,我们通常使用 Linux 服务器,配合专业的流量清洗和网络防火墙设备,来缓解这个问题。...Linux 网络延迟 谈到网络延迟(Network Latency),人们通常认为它是指网络数据传输所需的时间。...从延迟分布上来看,官方 Nginx 可以在 9ms 内完成 90% 的请求;对于案例 Nginx,50% 的请求已经达到 44ms。 那么这里发生了什么呢?

2.1K10
领券