有个生产环境CRM业务应用服务,情况有些奇怪,监控数据显示内存异常.内存使用率99.%多.通过生产监控看板发现,CRM内存超配或内存泄漏的现象,下面分析一下这个问题过程记录. 服务器配置情况: 生产服务器采用阿里云ECS机器,配置是4HZ.8GB,单个应用服务独占,CRM应用独立部署,即单台服务器仅部署一个java应用服务. 用了4个节点4台机器,每台机器都差不多情况. 监控看板如下: 内存分布统计: 从监控看板的数据来看,我们简单统计一下内存分配数据情况. 应用启动配置参数: /usr/bin…
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理保障机制) Daemon Fault Tolerance(守护线程容错机制) 理解Storm拓扑的并行 Tutorial Local模式 本地模式的通用配置: 在生产环境中运行Topologies 通用配置 杀死topology 更新运行中的topology 监控topology Local模式 本…
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz 32位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-…
一.安装redis 1.下载redis包 wget http://download.redis.io/releases/redis-3.2.1.tar.gz 2.解压redis包到/opt下 tar -zxvf /home/redis-3.2.1.tar.gz -C /opt 3.安装并测试redis cd /opt/redis-3.2.1/src make && make install make test 备注:若make test报错,提示安装tcl,则进行tcl的安装: 二.配置r…
一个偶然的机会,发现一个进程使用了超过14G的内存.这个进程是一个RPC server,只是作为中转,绝对不应该使用这么多内存的.即使并发量太多,存在内存中的数据太多,那么在并发减少的情况下,这个内存使用肯定会降下来.但是事实上,这个内存会一直涨,直到被OOM Killer杀掉. 由于这个rpc server的逻辑比较简单,先走读源码,除了发现一些简单的编程上面的问题外,没有大的问题.先上valgrind: valgrind --tool=memcheck --leak-check=full -…
介绍: 为了更好的对生产环境的一些中间件和操作系统的运行情况进行可视化的展示,近期了解了下prometheus加上grafana来实现这种效果,由于prometheus是新出来的开源项目,所以,监控的插件还不是很多,但是对基本的一些需求能够满足. Prometheus 是源于 Google Borgmon 的一个开源监控系统,用 Golang 开发.被很多人称为下一代监控系统. Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTT…
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz 32位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-…
背景: 由于生产环境上所使用的Redis版本并不一致,好久也没有更新,为了避免版本不同对Redis集群造成影响,从而升级为统一Redis版本! 1.集群架构 一主两从三哨兵: 2.升级方案 (1)升级之前的Redis版本,Redis主从架构如下,一主两从 (2)优先升级从服务器,将两个从服务升级版本为6.2.6.注意:升级过程中,使用原来低版本的配置文件,保证参数一致,只是更新一下启动的Redis软件版本即可. (3)业务确认访问无误后,对上述架构进行切换操作,把主库切换到升级后的从库上.注意:…
ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“:”结尾.代码块中定义的变量可能会被同一个域中的其他块使用.比如,定义在视图顶部的变量可以被同一视图中的代码块和代码段访问. 3.         布局 Razor通过layouts保持网页外观布局的一致性.布局模板包含基本的标签,并可以指定渲染视图内容的位置.比如 基本布局文件(_Layout.cs…
在项目中用到了redis作为缓存,再学习了ActiveMq之后想着用redis实现简单的消息队列,下面做记录.   Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现一个高性能的优先队列.同时在更高层面上,Redis还支持"发布/订阅"的消息模式,可以基于此构建一个聊天系统. 一.redis的列表类型天生支持用作消息队列.(类似于MQ的队列模型--任何时候都可以消费,一条消息只能消费一次) list操作参考:https://www.cnblogs.com/ql…