GG资源网

Linux 系统服务器异常流量分析(IT运维常见问题之一:服务器内存占有率高)

Linux 系统服务器异常流量分析

在工作中经常遇到服务器流量异常,时不时的流量很高。遇到这种流量异常和网站打开缓慢的情况,最后基本上可以归结为三种原因:一种是网站正在遭受DD或CC攻击;一种是服务器内存或者CPU耗尽;最后一种就是服务器被“挂马”了。

那么Linux/Centos服务器带宽异常跑满的情况怎么排查呢?下面是基于一次运维事件的排查过程描述,欢迎大家点评学习~

问题描述:

在8月1号9点左右接到用户反馈企业 Web 服务无法正常浏览,通过监控平台或阿里云监控,查看服务器异常状态,通常会出现 CPU 100%和流量激增的情况。通过SSH远程连接,查看当时的情况,监控信息显示如下:

可以看出,服务器此时的出流量达到5G,和正常运行时的流量相比,差异明显。

处理过程:

此时已无法正常远程管理,只能通过阿里云VNC控制台连接进入系统。

1)安装流量查看工具iftop;

yum -y install iftop

2)查看经典网络ECS外网卡流量;

iftop -i eth1

确认使用超过5G的出流量。

3)通过以下命令确认导致异常流量的进程;

iftop -i eth1 -P

此时抓取到导致异常流量的进程

通过netstat或ps命令,获取memcache进程号,并结束该进程。

netstat -tlunp
kill -9 2127

将该进程结束后,web服务和ssh远程管理恢复正常,后续观察流量异常情况消失。memcache 为遗留废弃程序,生产环境中已没有再使用,取消开启自启动。

vim /etc/rc.local
#/usr/local/memcached/bin/memcached -m 1024 -l 127.0.0.1 -p 11211 -u root -d

总结

问题的解决并没有花费多少时间,但是由于是用户最先发现反馈,必然被批的是非常惨,没有即时发现业务异常。

很多运维同学在将业务部署上云后多会出现这种情况,由于运维工作变得更加轻松便捷往往忽略很多重要的告警信息,比如:服务器到期提醒、服务器CPU使用率过高、安全组发生变化等告警提醒...由此引发很多低级的运维事故。

为了避免上述的情况,对于目前在做云运维的同学,小编推荐一个运维利器——王教授,对于我们日常运维工作帮助确实非常大,可以及时提醒我云资源的变化情况,例如:服务器 CPU 使用率偏高、服务器安全组设置不安全、云数据库存在慢SQL等...

服务器 CPU 使用率偏高

云数据库存在慢SQL

需要的同学可以点击文末最下方的王教授二维码查看详情~


网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

私信小编“联盟”,即可加入我们~

IT运维常见问题之一:服务器内存占有率高

登录服务器一看,服务器也很卡,打开任务管理器,一看内存占有率99%了,在仔细一查看是“数据库占用了大量内存”,打开数据库一看是部署的时候没有对数据库实例设置“最大服务器内存”,下面就分享一下SQL Server数据库占用过高内存的处理方法。

一、手动清理SQL Server数据库占用物理内存

1、建立一个批处理文件

打开记事本输入如下两行命令后,单击保存,输入文件名,扩展名选“bat”。

net stop mssqlserver

net start mssqlserver

2、双击上一步建立的批处理文件,SQL Server服务重启大概10秒左右

一般运维人员都会定期,在服务器空闲时间做内存释放。

二、手动设置SQL Server数据库占用内存

SQL Server数据库默认是无限制占用内存的,SQL Server根据服务器的活动来增大或收缩缓冲区高速缓存,以使可用物理内存保持在4MB~10MB之间。

1、SQL Server数据库占用内存

(1)最小服务器内存(min server memory)

最小服务器内存保证了SQL Server实例的缓冲池可用的最小内存量。SQL Server不会在启动时立即分配最小服务器内存指定的内存量。不过,除非降低最小服务器内存的值,否则当内存使用量由于客户端负荷而达到该值后,SQL Server不能从已分配的缓冲池中释放内存。

(2)最大服务器内存(max server memory)

最大服务器内存避免了SQL Server缓冲池使用的内存量多于指定的内存量,这样剩余的可用内存可以用来快速启动其他应用程序。SQL Server不会在启动时立即分配最大服务器内存指定的内存量。内存使用量会随着SQL Server的需要增加,直到达到最大服务器内存指定的值。除非提高最大服务器内存的值,否则SQL Server不能超过此内存使用量。

2、设置方式

(1)将最小服务器内存和最大服务器内存设置为同一值。此值与达到该值后分配给SQL Server缓冲池的固定内存量相对应。

(2)将最小服务器内存和最大服务器内存设置成一个内存范围。这种方法在系统或数据库管理员希望配置SQL Server实例,同时又要考虑在同一台计算机上运行的其他应用程序的内存需求时很有用。

3、设置方法

右键数据库实例名-->单击“属性”,单击“内存”选项,进入如下界面进行设置最大和最小占用内存,具体分配多少根据个人实际应用而定,个人粗略建议:如果内存比较大不要超过总内存的70%;如果内存比较少,不要超过总内存的55%。

到此,SQL Server数据库占用过高内存的应急处理方法就分享完了,希望对大家能有所帮助。

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » Linux 系统服务器异常流量分析(IT运维常见问题之一:服务器内存占有率高)

发表回复

CAPTCHAis initialing...