草庐IT

Java线上CPU内存冲高问题排查步骤

1引言作为一名从事Java开发快一年的程序员,在线上经常碰到某个模块的Pod发出CPU与内存告警的问题,而这些问题会导致系统响应缓慢甚至是服务不可用。一般情况下可以通过重启或者调高Pod的资源量或者增加Pod数量暂时解决问题,但这是治标不治本的,只有找到问题发生的原因才能从根本上解决问题。那么在该如何快速定位到导致告警的原因呢?下面将汇总一下大致的处理思路。一般来说导致Java程序CPU与内存冲高的原因有两种:代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致FullGC次数过多,系统缓慢。代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢。代码某个位置有阻塞性的操作,导致该功能调

Java线上CPU内存冲高问题排查步骤

1引言作为一名从事Java开发快一年的程序员,在线上经常碰到某个模块的Pod发出CPU与内存告警的问题,而这些问题会导致系统响应缓慢甚至是服务不可用。一般情况下可以通过重启或者调高Pod的资源量或者增加Pod数量暂时解决问题,但这是治标不治本的,只有找到问题发生的原因才能从根本上解决问题。那么在该如何快速定位到导致告警的原因呢?下面将汇总一下大致的处理思路。一般来说导致Java程序CPU与内存冲高的原因有两种:代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致FullGC次数过多,系统缓慢。代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢。代码某个位置有阻塞性的操作,导致该功能调

生产线上的nginx如何添加未编译安装模块

正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现在没法直接往配置文件里边写,这时候,就需要在线安装ngx_cache_purge此模块,下边就说下怎么在线编译安装新模块。安装步骤:1.首先看下内核和系统的版本号。[root@vmware1~]#uname-aLinuxvmware12.6.18-308.el5#1SMPTueFeb2120:06:06EST2012x86_64x86_64x86_64GNU/Linux[root@vmware1~

生产线上的nginx如何添加未编译安装模块

正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现在没法直接往配置文件里边写,这时候,就需要在线安装ngx_cache_purge此模块,下边就说下怎么在线编译安装新模块。安装步骤:1.首先看下内核和系统的版本号。[root@vmware1~]#uname-aLinuxvmware12.6.18-308.el5#1SMPTueFeb2120:06:06EST2012x86_64x86_64x86_64GNU/Linux[root@vmware1~

线上多服务管理工具实例剖析

    公司线上对nginx、tomcat和jar包的java应用的服务管理脚本之前都是单独分离开的,这样子就造成了运维人员在跳板机上进行服务管理的时非常的不方便。特别是把这些服务管理框架纳入到自动化管理平台时,没有一个统一的服务管理接口去使用。    因此,在空的时候,我就将多个服务的管理脚本融合在了一起,将他做成一个工具,这样子就减少了服务管理的杂乱。    废话不说了,下面就是脚本内容,文章结尾我会简单介绍该脚本的思路。#!/bin/bash## 本脚本用来对系统上的多服务进行管理操作# 目前仅支持nginx、tomcat和jar包类的java应用进行管理操作# Written by s

线上多服务管理工具实例剖析

    公司线上对nginx、tomcat和jar包的java应用的服务管理脚本之前都是单独分离开的,这样子就造成了运维人员在跳板机上进行服务管理的时非常的不方便。特别是把这些服务管理框架纳入到自动化管理平台时,没有一个统一的服务管理接口去使用。    因此,在空的时候,我就将多个服务的管理脚本融合在了一起,将他做成一个工具,这样子就减少了服务管理的杂乱。    废话不说了,下面就是脚本内容,文章结尾我会简单介绍该脚本的思路。#!/bin/bash## 本脚本用来对系统上的多服务进行管理操作# 目前仅支持nginx、tomcat和jar包类的java应用进行管理操作# Written by s

最新的CentOS6.5+Nginx1.4.5+PHP5.5.9线上环境搭建记实

注:本文很多源码包都源自sourceforge.net,我直接wget的时候不允许下载,URL都已经给出具体怎么下载合适,请读者自己做主!本文所有的软件包来源的URL均来官网1、安装LNMP所依赖的软件包组件yum-yinstallgccgcc-c++pcre-developenssl-develmysql-devellibxml2-develpatchbzip2bzip2-develcurl-devellibjpeglibjpeg-devellibpng-devellibpngfreetypefreetype-developenldapopenldap-develperl-CPANbison

最新的CentOS6.5+Nginx1.4.5+PHP5.5.9线上环境搭建记实

注:本文很多源码包都源自sourceforge.net,我直接wget的时候不允许下载,URL都已经给出具体怎么下载合适,请读者自己做主!本文所有的软件包来源的URL均来官网1、安装LNMP所依赖的软件包组件yum-yinstallgccgcc-c++pcre-developenssl-develmysql-devellibxml2-develpatchbzip2bzip2-develcurl-devellibjpeglibjpeg-devellibpng-devellibpngfreetypefreetype-developenldapopenldap-develperl-CPANbison

足不出户,一探古今,打造线上3D数字博物馆!

随着3D技术的不断革新,为了让更多的用户领略历史之美,越来越多的博物馆开始举办线上展览。通过模拟不同的环境、灯光投影、360°无死角放大缩小展品,观众可以享受到身临其境的沉浸体验。不仅如此,给展品加上BGM或者语音解说,帮助观众更加了解展品的详细背景,让演示场景更有代入感。效果示意看完如此逼真的效果展示,是不是想知道究竟是怎么实现的呢?通过AndroidStudio的Kotlin工程实现3D场景构建、物品展示以及声音播放功能,就可以做到。一、准备3D模型华为移动服务最新开放的3D物体建模服务(3DModelingKit),助力轻松建模。我们只需使用手机相机,通过拍摄物体的不同角度图像,便可实现

足不出户,一探古今,打造线上3D数字博物馆!

随着3D技术的不断革新,为了让更多的用户领略历史之美,越来越多的博物馆开始举办线上展览。通过模拟不同的环境、灯光投影、360°无死角放大缩小展品,观众可以享受到身临其境的沉浸体验。不仅如此,给展品加上BGM或者语音解说,帮助观众更加了解展品的详细背景,让演示场景更有代入感。效果示意看完如此逼真的效果展示,是不是想知道究竟是怎么实现的呢?通过AndroidStudio的Kotlin工程实现3D场景构建、物品展示以及声音播放功能,就可以做到。一、准备3D模型华为移动服务最新开放的3D物体建模服务(3DModelingKit),助力轻松建模。我们只需使用手机相机,通过拍摄物体的不同角度图像,便可实现