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

服务器内存故障预测居然可以这样做!

​ 作者:vivo 互联网服务器团队- Hao Chan随着互联网业务的快速发展,基础设施的可用性也越来越受到业界的关注。内存发生故障故障率高、频次多、影响大,这些对于上层业务而言都是不能接受的。...然而硬件故障一直以来都是一种普遍存在的现象,由于硬件故障而造成的损失往往是巨大的。在服务器各个部件中,除硬盘故障以外,内存故障是第二大常见的硬件故障类型。...并且服务器内存的数量众多,vivo的内存数量达到40w+条,内存故障造成的最严重的后果是会直接导致系统崩溃,服务器宕机,这些对于上层业务而言都是不能接受的。...EDAC在vivo服务器全量上线过程以来,累计提前发现450+ case的内存CE问题,服务器的宕机数量明显减少。...对满足报修标准服务器业务进行迁移,并更换相应的内存条,避免因服务器突然宕机导致业务的不稳定,甚至因此造成的损失。

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

服务器故障邮件报警

说到服务器硬件监测,用得最多的自然是Zabbix和prometheus,可是对于一般用户来说,部署要求比较高,而且也没有必要。...只是监测服务器硬件故障,并且发生问题的时候,以邮件形式告警,那么服务器自带的功能就足以。 比如戴尔服务器的idrac,配置硬件故障的邮件告警就非常简单。...如上图所示,首先填写邮件发送服务器的地址,其次就是填写发件人邮件地址,然后就是SMTP端口号,采用SSL协议的话,端口号就填写465;最后填写用户名和密码,就是发件人的邮件账号和密码。...收件人邮件地址,当然也需要填写,不然故障报给谁呢?然后可以“发送”测试邮件,一般都是秒收,如果没收到,就检查SMTP配置。...我比较关注系统运行状况和存储,尤其是存储,重要的数据都在硬盘里面呢,其他硬件故障,相对来说,没那么重要,电源坏了,可以换,内存坏个一两条,也无伤大雅。硬盘要是坏了,那就损失大了。

19330

MySQL内存溢出问题:故障排除指南

在本文中,我将向您展示如何使用新版本的MySQL(5.7+),以及如何更容易地解决 MySQL内存分配中出现的问题。 故障排除从来都不是一项有趣的任务,尤其是像这种MySQL因为内存不足而崩溃的故障。...有了新版本的MySQL(5.7+)和performance_schema,一切都不同了,我们可以更轻松地对MySQL内存分配进行故障排除。 在本文中,我将向您展示如何使用它。...服务器上运行有其他进程在分配RAM。例如:它可以是某种应用程序(Java、Python、PHP)、web服务器,甚至是备份(即mysqldump)等。当问题的根源被确定后,就可以直接修复了。...MySQL中的内存泄漏。这是最坏的情况,我们才需要进行故障排除。...从哪里开始对MySQL内存泄漏进行故障排除 下面是我们可以从下面步骤开始((假设它是一个Linux服务器)): 第1部分:Linux操作系统和配置检查 1.

5.8K20

故障分析 | 租户 memstore 内存满问题排查

如果冻结功能正常,租户 memstore 占用内存到达 major_freeze_trigger 之后,就会先冻结、然后转储该租户下的 MemTable,转储完成的 MemTable 占用的内存会从 active_memstore_used...,该 MemTable 所属租户 memstore 已占用内存。...因为租户 memstore 占用内存达到 freeze_trigger_percentage 对应的内存上限之后,会触发租户级别的转储,也就是该租户下的所有 MemTable 都会进行转储。...如果是 OB 2.2.x 版本,可以通过以下 SQL 查询已冻结但未释放内存的 MemTable,是否因为存在活跃事务,导致转储调度异常,内存无法释放。...如果确认了转储调度正常,转储过程也正常,但是已冻结的 MemTable 内存却没有释放,那再确认下是否因为 MemTable 的引用计数异常,导致内存无法释放。

88040

服务器硬盘故障预测实践

理论上服役时间越长的服务器发生故障的几率也将越大,从腾讯全网服务器的统计结果也表明服务器老龄化的加剧,故障概率会加速上升,特别是使用年份超过4年的设备故障率将出现陡升的情况,显而易见高故障率的老龄化设备将对现网业务造成巨大的影响...我们的服务器使用年限超过5年后,硬盘故障率都是非常高。 ? 于是乎,想快速有效的降低服务器故障的影响,核心就在于降低硬盘故障的影响。...或许这些服务器配置信息能给出一些统计结果,我们想要的是即将故障的硬盘,而不是这些差异性不大的各个集合的整体故障率。...为了支持我们提供了运营模型设置,主要包括服务器类型,上架年限,服务器健康度,业务模块,预测比,坏块比,性能参数等,系统会根据这个设置表,对满足其中任意一条规则的预测故障盘,自动发起故障流程。...成功预测的硬盘故障数量,粗略估算已覆盖SATA硬盘故障数的50%左右,进而促使5年以上服务器对业务影响的硬件整体故障率也下降了0.5%。

13.1K90

故障分析 | bgsave 导致 redis 定期顿案例一则

1、背景 线上有套 redis 主从,版本4.0,开发抱怨说经常会出现周期性顿。...查看 redis 的内存利用率,存在很严重的内存碎片, used_memory_human 8.7G ...... used_memory_rss_human 16.1G 这套 redis 马上就要迁移...,新环境实例的 RSS 只有8.8G,latest_fork_usec 指标也下降达到了0.25s左右,和开发确认后可以满足应用需求,迁移后应用的定期顿现象有了很明显的缓解。...新环境以后也可能会遭遇严重内存碎片,届时要么开启activedefrag,要么在维护时间段重启实例,后者效果显然更好一点。...以后如果遇到了 redis 定期顿现象,可以优先从 latest_fork_usec 监控指标入手。 本文关键字:#latest_fork_usec # #bgsave#

50910

Kubernetes 触发 OOMKilled(内存杀手)如何排除故障

1写在前面 ---- 简单整一下 k8s 中 Pod 故障 OOMKilled 的原因以及诊断 博文内容涉及: k8s OOMKilled 分类: 宿主节点行为 / K8s Cgroups 行为 什么是...Killed 通过上下内存信息可以发现,当分配1000M内存时,宿主机用户使用内存增加了1000M,可用内存为117M,当申请内存为2000M时,超出宿主机可用内存,bigmem 2000M命令所在进程直接被...这可以帮助您确定哪些容器消耗了太多内存并触发了 OOMKilled 错误。 使用内存性能分析器:使用 pprof 等内存性能分析器来识别可能导致内存过度使用的内存泄漏或低效代码。...需要调试应用程序以解决内存泄漏的原因。 节点过载 — 这意味着 Pod 使用的总内存大于可用的总节点内存。通过纵向扩展来增加节点的可用内存,或将 Pod 移动到具有更多可用内存的节点。...(指定的最小内存),但低于其内存限制 使用超过其内存限制的 Pod 要点 为避免 OOMKilled 错误,建议监控 Kubernetes Pod 和容器中的内存使用情况,设置资源限制以防止容器消耗过多内存

61220

线上应用故障排查之二:高内存占用

前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。...,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节。...现在以一个实际的例子分析内存占用的故障排查。 通过top命令,发现PID为9004的Java进程一直占用比较高的内存不释放(24.7%),出现高内存占用的故障。...想起上一篇线上应用故障排查之一:高CPU占用介绍的PS命令,能否找到具体是哪个的线程呢?...特别是占用了大量内存的int数组,需要仔细检查相关代码。 最后,总结下排查内存故障的方法和技巧有哪些: 1、top命令:Linux命令。可以查看实时的内存使用情况。

1.2K30

Java内存故障?只是因为你不够帅!

本文是关于Java故障排查的,属上篇。 为了保证文章的流畅性,我决定一口气把它写完。因为相关方面的培训做的多了,就不需要在写的时候参考资料、翻源代码。掐指一算,本文一个小时没花掉,但篇幅已经较长了。...1.内存里都有啥 2.操作系统内存 3.JVM内存划分 4.一图解千愁,jvm内存从来没有这么简单过!...一部分是物理内存,指的是我们插的那根内存条;另一部分就是使用磁盘模拟的虚拟内存,在Linux通常称做swap分区。所以,可用内存 = 物理内存 + 虚拟内存。...6.垃圾回收器 内存问题有两种模式,一种是内存溢出,一种是内存泄漏。 内存溢出 OutOfMemoryError,简称OOM,堆是最常见的情况,堆外内存排查困难。...发生OOM Error,应用停止(最严重) 频繁GC,GC时间长,GC线程时间片占用高 服务顿,请求响应时间变长 说到这顿问题,就不得不提一嘴垃圾回收器。 ?

64622

内存存储原理,你知道吗?

SD内部图 2、SD管脚图: ? SD图.JPG 3、SPI模式下SD各管脚名称为: sd : ?...,命令可以是从主机到单卡寻址,也可以是到所有;回复是对之前命令的回答,回复可以来自单 或所有; DAT0~3:数据线,数据可以从传向主机也可以从主机传向。...MicroSD管脚名 称.JPG SD 与MicroSD仅仅是封装上的不同,MicroSD更小,大小上和一个SIM差不多,但是协议与SD相同。...MicroSD的连接和SD大同小异,只是MicroSD比SD少 一个GND管脚,所以不能使用上面做的这种插入的检测,实际上现在很多SD/MicroSD插座都有插入检测管脚,当然,一分钱一分货...所以我使用PC机将SD格式化,之后在SD上创建一个大文件,比如我的128M的SD上我建立了一个100M的文件。

5.7K71

服务器内存监测

而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

11520

服务器内存监测

而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

15040
领券