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

生产环境内存溢出了!!

大家好,我是冰河~~ 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。...但是一旦启动生产环境的程序,没过多久,JVM就抛出了内存溢出的异常。 这就奇怪了,怎么回事呢? 启动程序时加上合理的JVM参数,问题依然存在。。。 没办法,继续看他的代码吧!...经小伙伴授权, 我简单列下他们的业务规模和服务器配置:整套系统采用分布式架构,架构中的各业务服务采用集群部署,日均访问量上亿,日均交易订单50W~100W,订单系统的各服务器节点配置为4核8G。...结论 如果在程序中创建了比较大的对象,并且我们基于这个大对象生成了一些其他的信息,此时,一定要释放和这个大对象的引用关系,否则,就会埋下内存溢出的隐患。...JVM优化的目标就是:尽可能让对象都在新生代里分配和回收,尽量别让太多对象频繁进入老年代,避免频繁对老年代进行垃圾回收,同时给系统充足的内存大小,避免新生代频繁的进行垃圾回收。

39520

生产环境JVM内存溢出案例分析

如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢?...本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法。 案例:架构组接到某项目组反馈,Zabbix监控上显示JMX不可用,请求协助处理。...如何快速恢复业务 通常线上的故障会对业务造成重大影响,影响用户体验,故如果线上服务器出现故障,应规避对业务造成影响,但不能简单的重启服务器,因为需要尽可能保留现场,为后续的问题分析打下基础。...通常的做法是隔离故障服务器。 通常线上服务器是集群部署,一个好的分布式负载方案会自动剔除故障的机器,从而实现高可用架构,但如果未被剔除,则需要运维人员将故障服务器进行剔除,保留现场进行分析。...发生内存泄露,通常情况下是由于代码的原因造成的,一般无法立即对代码进行修复,很容易会发送连锁反应造成应用服务器一台一台接连宕机,故障面积会慢慢扩大,针对此种情况,应快速定位发生内存泄露的原因,将该服务进行降级

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

生产环境主机服务器部署小结

这两天跟同事一起去部署一个新项目的所有主机服务器,记录下大体过程备忘。...环境: 主机型号:HP ProLiant DL380 Gen9 基本配置:512GB内存,CPU 2颗E5-2630 2.40GHz,12块4TB SATA 7200转硬盘 RAID卡:Smart...HBA H240ar(支持RAID1,RAID5,RAID50,RAID1+0等) 生产环境主机服务器部署,在机房一般需要做下面几个事情,其他的都可以等网络通之后远程来做。...自定义安装,为了方便,可以把“基本系统”、“服务器”、“系统管理”、“桌面”、“应用程序”、“开发”下面的子项都勾选。 建议把光盘留存一份ISO镜像文件到服务器目录下。...4.IP bonding配置 一般主机服务器都有多网卡,现在的服务器一般都有至少4个千兆网卡; 而一般环境(即使是RAC这种高端环境),每台机器都只需要2个网络即可。

1.7K20

ODOO生产环境服务器硬件配置要求

摘要 对于ODOO服务器的配置要求,腾讯云 4 核 CPU,8G 内存服务器,可以支持 30 个用户流畅使用。 这里主要包括CPU、内存、网络、IO硬盘,以供实际应用中进行参考和计算。...odoo所需硬件 1个核:6个用户 同时在线用户*150MB为所需内存大小,50用户同时在线,需要8GB内存,100用户同时在线,需要16GB内存。...硬盘:按需 网络:10个用户1Mbps 实例1: 腾讯云 4 核 CPU,8G 内存服务器,可以支持 30 个用户流畅使用。 实例2: 中型企业应用,用户数多,数据量大。...初期可以考虑 8 核 CPU,16G 内存的 Linux 服务器两台,一台跑 Odoo,一台跑 PostgreSQL 数据库服务器。这个配置可以支持至少 300 个用户流畅使用。...以后,随着信息化平台应用的深入,功能模块增多,数据量增大,用户越来越多,可以部署多台服务器集群系统。Odoo 和 PostgreSQL 都支持集群部署方式。

6K62

如何诊断处理生产环境服务器变慢

前言 在当今的高科技环境下,生产环境服务器的性能问题可能是一个复杂且棘手的问题。当服务器变慢时,可能会对企业的运营产生重大影响,包括客户满意度下降,工作效率降低,甚至可能导致整个系统崩溃。...为了解决这些问题,我们需要深入了解生产环境服务器变慢的原因,并掌握有效的诊断和处理方法。 本文将详细介绍如何诊断和处理生产环境服务器变慢的问题。...通过深入探讨服务器的硬件和软件配置,网络环境,以及可能影响服务器性能的各种因素,我们将提供一系列实用的诊断和解决方案。此外,我们还将分享一些最佳实践和案例分析,以帮助您更好地理解和应用这些知识。...详细流程可以参考我的这篇文章: 如何定位当生产环境CPU飙升的时候的问题 二、磁盘I/O效率 在程序运行过程中会直接或者间接涉及一些与磁盘I/O相关的操作,比如程序直接读/写磁盘或者程序依赖的第三方组件对磁盘进行持久化存储...最后,预防服务器变慢需要定期检查、备份数据、优化代码等措施。 在未来的工作中,我们需要更加注重服务器的维护和优化,定期检查服务器的性能和状态,及时发现并解决问题。

9810

一般生产环境Linux服务器配置

1.生产环境Linux服务器系统版本的选择 选择CentOS6.5版本64位的Linux操作系统 CentOS (Community Enterprise Operating System,中文意思是:...CentOS是完全开源和免费的,企业可以在生产环境上自由部署 2.一般服务器的初始磁盘分区 1)/boot引导分区,存放引导文件和内核等。分区大小设定200M。...一般正式环境下,Linux引导文件及内核全部大小在100M以内。 2)swap交换分区,作为虚拟内存使用,用于当物理内存不足时,调用硬盘的一部分当内存使用。...使用虚拟内存,会保障服务器内存不足的时候不会宕机。...一般生产环境服务器内存较大,交换分区大小与内存相同即可 3)/分区根分区,将分完/boot和swap分区剩下的空间都分给/分区 3.数据库服务器的初始磁盘分区 1)/boot引导分区,分区大小设定200M

4.2K10

webpack开发环境生产环境_webpack开发环境生产环境

前言 如果我们需要使用webpack,就需要依赖node环境 nvm node npm webpack@cli webpack nvm安装 nvm是一个用来管理node版本的工具。...https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 2.创建nvm文件夹 mkdir ~/.nvm 3.配置环境变量...编辑环境 vim ~/.zshrc 在文件最后写入环境变量 export NVM_DIR="$HOME/.nvm" [ -s "/usr/local/opt/nvm/nvm.sh" ] && ....3.安装完成后,还需要配置环境变量。在我的电脑->属性->高级系统设置->环境变量->系统环境变量->Path下新建一个,把nvm所处的路径填入进去即可!...node nvm uninstall [version] 设置nvm的镜像 nvm node_mirror [url] 设置npm的镜像 nvm npm_mirror [url] 安装淘宝镜像 npm的服务器在国外

2.2K20

生产环境Go程序内存泄露,用pprof如何快速定位

内存泄漏可以在整个系统中以多种形式出现,除了在写代码上的疏忽,忘了关闭该关闭的资源外,更多的时候导致系统发生内存泄露原因可能是设计上决策不对、或者业务逻辑上的疏忽没有考虑到一些边界条件。...掌握之后,可以帮助排查程序的内存泄露问题,当然除了排查内存,它也能排查 CPU 占用过高,线程死锁的这些问题,不过这篇文章我们会聚焦在怎么用 pprof 排查程序的内存泄露问题。...上面 heap 和 allocs 是两个与内存相关的指标, allocs 指标会采样自程序启动所有对象的内存分配信息。...针对查看内存泄露问题的分析,使用则的是 heap 指标里的采样信息。 Heap pprof 的 heap 信息,是对堆中活跃对象的内存分配情况的采样。Go 里边哪些对象会被分配到堆上?...flat:表示此函数分配、并由该函数持有的内存空间。 cum:表示由这个函数或它调用堆栈下面的函数分配的内存总量。

3.3K30

Laravel 不同生产环境服务器的判断实践

用户体量上来后,一台服务器不够了,项目就采用了 API 和 后台接口分开放到不同的服务器上面。 发现路由数量变多后影响到了性能,这个时候需要区别不同服务器去加载不同的路由。...如何去别不同的服务器区别环境,但是又要区别是生产环境。 代码实现 可以使用 app()- environment(); 方法实现,生产环境和测试环境的区别。 查看代码后发现可以使用更多的方法。.../** * 获取或检查当前应用程序环境。...星号 * 可以用来表示通配符: # 判断在 API 环境 app()- environment("production.api"); # 判断在 ADMIN 环境 app()- environment(..."production.admin"); # 判断在所有环境 app()- environment("production.*"); 修改 RouteServiceProvider 文件 /** *

81141

Gnirehtet生产环境实践

rom1v 认为这里连接数不多,List 的性能要高于 Map,但是生产用起来才发现由于回收不及时,这里的连接数经常是上千的量级。...很多老的 Connection 没法及时得到释放,导致他们占用的缓冲区也没法及时释放,从而加剧了内存不足的问题。...无论是系统内存不足、还是用户主动清理后台、还是因为手机的省电策略,客户端都有可能挂掉。 简单的解决方法是手动在 ”最近活动“ 中将 Gnirehtet 的客户端用小锁锁住。...业务优化 以下是我们在生产环境使用时,出于性能提升或审计需要实现的一些功能。虽然不是必须的功能,但也算是一种不错的实践。...DNS缓存 Gnirehtet 的 Apk 中将 DNS 服务器指定为 8.8.8.8 ,当然 Gnirehtet 也提供了指定 DNS server 的参数,但是在流量较大的情况下,如果能使用到本地的

1.4K41

什么是开发环境、测试环境生产环境

上周有小伙伴咨询,开发/测试/生产环境的概念,今天就做一个小结~ 1、开发环境 开发环境是程序员专门用来写代码的环境,一般是自己本地的电脑,也可以是远程的云服务器。...首先开发需要把本地写好的代码“部署”到测试服务器,然后准备一个测试域名,为了数据安全,这个测试域名一般是公司“内网”才能访问。 最后提供测试域名给产品和测试同学访问。...产品和测试同学验收没问题后,就把代码发布到生产环境啦。 3、生产环境 生产环境是正式对外的,给客户使用的环境。 开发把测试好的代码“部署”到生产服务器后,准备一个生产域名,外面用户通过生产域名访问。...预发布环境的配置、代码和数据库跟生产环境一模一样,不一样的地方是,预发布环境有自己的独立域名。 需要“预发布环境”的原因可能有以下原因: 1、需要生产数据库才能测试这个新功能。...2、对测试要求非常苛刻,在发布到生产环境前,需要模拟生产环境的一切配置,完全走一遍没问题再发布到生产环境才更安全。 --- end ----

4.1K11

uat环境生产环境的区别_angular 生产环境 相对路径无效

项目上线,测试环境正常,上UAT环境后访问不到数据,于是开始步步分析,细细琢磨,最终成功上UAT,但影响了上生产环境的时间,造成项目延时发布,第一次遇到这么奇怪的事情,之后就是2017年12月26(周二...)的上生产环境,不过可怕的事情还是发生了:本地、测试、UAT环境都正常,生产环境有访问不到数据,直到12月27号2:00才解决,以上是问题情景。...这边也想了很长时间:为什么UAT环境代码好好的,正式环境就不行了,拉的是一套代码,不同的地方就是Disconf配置文件了(这里我前后核对了不下六遍,前两遍确实有问题及时做了修改,最后一遍我是一个一个字核对的...以下是我这边出现访问不到数据的三个情况: 1、Disconf环境配置文件的配置(本地、测试、UAT及生产环境都会有所差别),具体看各个环境的访问地址; 2、系统中访问的子系统接口是否同步上了相应的环境,...在相应环境上直接访问接口验证是否部署成功; 3、httpClient工具类中http和https是有区别的,线上环境和UAT环境一定要是https://开头的(从发现这个问题和解决花了我不少时间),https

58310

只需4个步骤,分析解决在生产环境下JVM内存泄露问题

作者:未完成交响曲 发现异常 首先通过我们内部搭建的日志平台发现我们线上环境一个java应用有大量的http接口请求超时,登录linux服务器查看网络环境没有问题,判断是应用自身运行异常,重启应用后发现异常还在...初步查找问题 通过指令:jstat -gcutil 查看jvm内存占用和gc情况: 发现老年代内存占用比例过高,并且每次fullGC后并没有有效回收。...老年代内存占用百分比变化趋势大致如下: 初步判断大量请求超时和服务瘫痪的直接原因: 每次fullGC后的内存占用越来越高 内存占用增长速度越来越快 fullGC的频率越来越高...,初步分析是异步日志传输速度跟不上,导致日志对象堆积在内存中。...mat分析内存结构: 可以看到主要占据堆内存的对象信息,果然是Flume异步传输日志堵塞的问题。

1.6K00

Kafka 生产环境部署指南

1 Kafka 基本概念和系统架构 在 Kafka 集群中存在以下几种节点角色: Producer:生产者,生产消息并推送到 Kafka 集群中。...这里建议最少选择 64G 内存服务器,当然如果是 128G 内存那就更好了,这样可以放更多数据到 Page Cache 中。...3.5 文件系统 Kafka 在生产环境中建议部署在 Linux 操作系统上,根据官网的测试报告,XFS 的性能要强于 ext4,因此生产环境建议使用 XFS 文件系统。...,在 Confluent 官网推荐了以下 GC 调优参数,该参数在 LinkedIn 的大型生产环境中得到过验证(基于 JDK 1.8 u5)。...Kafka in Production] (https://docs.confluent.io/platform/current/kafka/deployment.html) [Kafka(4)-kafka生产环境规划部署

3.7K42
领券