服务器异常问题总结

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 服务器异常问题总结

1.告警发生时间:2013-04-13 17:10:00
告警内容:10.190.235.195 内存swap_in持续高 当前值:107 阀值:50

告警发生时间:2013-04-06 22:55:00
告警内容:10.190.235.195 内存swap_in持续高 当前值:489 阀值:50

最近一次重启时间为2013-01-07 11:45

有三个月零9天没有重启了,看到在线人数统计似乎有异常,临晨也有100多人,不大合理,重启。

 

 

内存不足告警

分析swap_in和swap_out,有一个指标超过20,并且持续15分钟触发告警。

只有当swap_in和swap_out的值为0时,才判断为告警恢复

机器内存不够用。请查看是否有进程存在内存泄漏,或者内存使用不当。

您可能需要了解如何查看单个进程占用的内存大小?

 

 

 

 

1. 如何查看单个进程占用的内存大小?

 

可以使用top -p PID,pmap -x PID,ps aux|grep PID命令,也可以通过/proc/$process_id(进程的PID)/status文件查看,例如/proc/7159/status文件。

2. 如何查看服务器内存使用率?

可以通过free,top(执行后可通过shitf+m对内存排序),vmstat,procinfo命令,也可以通过/proc/meminfo文件查看.

 

以上,第一个为session,第二个位island,第三个为gate,第五个为platform,发现在17:03分有redis读的异常抛出

session
2013-04-13 17:02:50,987 ERROR:(main) com.ztgame.rabbit.server.session.SessionServerService - save game time failed:
com.ztgame.tiger.framework.core.ServiceException: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
        at com.ztgame.tiger.framework.dal.CacheManager.setGameTime(CacheManager.java:542)                                                  
        at com.ztgame.rabbit.server.session.SessionServerService.saveGameTime(SessionServerService.java:85)                                
        at com.ztgame.rabbit.server.session.SessionServerService.access$000(SessionServerService.java:22)                                  
        at com.ztgame.rabbit.server.session.SessionServerService$1.onTick(SessionServerService.java:150)                                   
        at com.ztgame.tiger.framework.timer.TimerManager.tick(TimerManager.java:58)
        at com.ztgame.tiger.framework.core.MainLoop.tick(MainLoop.java:80)                                                                 
        at com.ztgame.tiger.framework.core.MainLoop.run(MainLoop.java:89)
        at com.ztgame.rabbit.server.session.SessionServerService.onRun(SessionServerService.java:172)                                      
        at com.ztgame.tiger.framework.core.AbstractService.start(AbstractService.java:83)
        at com.ztgame.rabbit.server.session.SessionServer.main(SessionServer.java:20)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out                        
        at redis.clients.jedis.Protocol.process(Unknown Source)                                                                            
        at redis.clients.jedis.Protocol.read(Unknown Source)                                                                               
        at redis.clients.jedis.Connection.getStatusCodeReply(Unknown Source)
        at redis.clients.jedis.Jedis.set(Unknown Source)                                                                                   
        at com.ztgame.tiger.framework.dal.CacheManager.setGameTime(CacheManager.java:537)                                                  
        ... 9 more       
island
2013-04-13 17:03:09,791 ERROR:(save to db) com.ztgame.rabbit.server.island.service.role.RoleManager - saveData failed: 792533
com.ztgame.tiger.framework.core.ServiceException: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
        at com.ztgame.tiger.framework.dal.CacheManager.updateRole(CacheManager.java:261)
        at com.ztgame.tiger.framework.dal.GameRepository.save(GameRepository.java:1482)
        at com.ztgame.rabbit.server.island.service.role.RoleManager.saveData(RoleManager.java:191)
        at com.ztgame.rabbit.server.island.service.role.RoleManager$SaveDataThread.run(RoleManager.java:106)
        at java.lang.Thread.run(Thread.java:662)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
        at redis.clients.jedis.Protocol.process(Unknown Source)
        at redis.clients.jedis.Protocol.read(Unknown Source)
        at redis.clients.jedis.Connection.getStatusCodeReply(Unknown Source)
        at redis.clients.jedis.Jedis.set(Unknown Source)
        at com.ztgame.tiger.framework.dal.CacheManager.updateRole(CacheManager.java:255)
        ... 4 more
Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:90)
        at redis.clients.util.RedisInputStream.fill(Unknown Source)
        at redis.clients.util.RedisInputStream.readByte(Unknown Source)
        ... 9 more                                                                     
===============================

2.最好所有JAVA应用的Xmx相加小于系统内存!

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
28天前
|
缓存 监控 网络安全
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
70 1
|
7月前
|
弹性计算 网络安全 数据安全/隐私保护
ECS热门应用 | 解决Guestosssh异常
通过ECS实例快速发现操作系统内部的问题,并给出对应的修复方案。
129349 5
|
5月前
|
存储 安全 数据挖掘
服务器数据恢复—异常断电导致EVA存储中RAID信息丢失的数据恢复案例
意外断电导致raid硬件损坏或者riad管理信息丢失等raid模块损坏而导致数据丢失的情况非常普遍。正常情况下,磁盘阵列一旦创建完成就不会再对管理模块中的信息进行更改,但是raid管理模块中的信息属于可修改信息,一次或多次的意外断电可能会导致这部分信息被篡改或丢失。断电次数过多甚至会导致raid卡上的元器损坏。
|
1月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
2月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
39 0
|
5月前
|
弹性计算 Java 应用服务中间件
云服务器 ECS产品使用问题之变更服务器配置时一直显示400异常报错,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
5月前
|
缓存 监控 安全
云服务器公网流量异常排查指南
云服务器公网流量异常排查指南
269 1
|
5月前
|
Prometheus 监控 Cloud Native
Java 服务挂掉,服务器异常宕机问题排查
Java 服务挂掉,服务器异常宕机问题排查
998 1
|
6月前
|
存储 小程序 数据库
服务器数据恢复—异常断电导致存储不可用的数据恢复案例
服务器存储数据恢复环境: 一台存储中有一组由12块SAS硬盘组建的RAID6磁盘阵列,划分为一个卷,分配给几台Vmware ESXI主机做共享存储。该卷中存放了大量Windows虚拟机,这些虚拟机系统盘是统一大小,数据盘大小不确定,数据盘是精简模式。 服务器存储故障: 机房断电导致服务器存储异常关机,加电后存储无法使用。
服务器数据恢复—异常断电导致存储不可用的数据恢复案例
|
7月前
|
存储 关系型数据库 MySQL
服务器数据恢复—EVA存储异常断电重启后虚拟机无法启动的数据恢复方案
服务器存储数据恢复环境: 某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)+快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。 服务器存储故障&检测: 存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是异常断电导致电源模块出现故障,清空cache后重新启动存储发现该虚拟机仍无法正常启动。