首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出导致服务器上高速缓存使用率较高的原因?

如何找出导致服务器上高速缓存使用率较高的原因?
EN

Server Fault用户
提问于 2014-09-22 12:10:24
回答 2查看 28.8K关注 0票数 1

每个星期五大约22:00,我们的服务器开始使用大量的缓存,然后大约两个小时后就会死掉。请看下面的Cacti图。

我们尝试了在https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py中使用大量内存的搜索过程,但是它显示了以下内容。

代码语言:javascript
复制
...
438.0 MiB +   1.1 MiB = 439.1 MiB       XXXEngine XXX 961f4dbc-3b01-0000-0080-ff115176831d xxx
520.2 MiB +   1.7 MiB = 521.9 MiB       XXXEngine XXX f2ac330c-3a01-0000-0080-a2adb5561889 xxx
 10.4 GiB + 829.0 KiB =  10.4 GiB       java -server -Xms1G -Xmx5G -Djava.net.preferIPv4Stack=true -cp ../lib/hazelcast-3.2.2.jar:../lib/xxx.cache.jar com.hazelcast.examples.StartServer (2)
---------------------------------
                         28.1 GiB
=================================

这与100 G的缓存一点关系都没有,我们认为Linux可能会使用那么多内存来缓存磁盘I/O,所以我们使用atop来测量它。这就是我们运行atop -r atop-20140919-230002-062979000.bin -d -D (-c)时得到的结果。

代码语言:javascript
复制
  PID                                   TID                                   RDDSK                                  WRDSK                                  WCANCL                                   DSK                                 CMD       1/405
    1                                     -                                  907.9G                                  17.0T                                    2.8T                                   97%                                 init
 6513                                     -                                  175.1G                                  46.1G                                    5.9G                                    1%                                 crond
 8842                                     -                                      8K                                 110.3G                                    128K                                    1%                                 xxxzmuc0
 6296                                     -                                    6.5G                                  25.1G                                   15.9G                                    0%                                 sshd
 4463                                     -                                   4668K                                  23.2G                                      0K                                    0%                                 kjournald
19681                                     -                                   1835K                                  22.5G                                   22.4G                                    0%                                 xxxtroker
 4469                                     -                                   4728K                                  15.2G                                      0K                                    0%                                 kjournald
 4475                                     -                                   4716K                                  14.9G                                      0K                                    0%                                 kjournald
 2401                                     -                                    588K                                  11.4G                                      0K                                    0%                                 kjournald
 8652                                     -                                    7.0G                                   2.6G                                    1.3G                                    0%                                 k6gagent
26093                                     -                                    9.5G                                     0K                                      0K                                    0%                                 bpbkar
...

atop的选项-c

代码语言:javascript
复制
  PID   TID S  DSK COMMAND-LINE (horizontal scroll with <- and -> keys)                                                                                                                                                                            1/405
    1     - S  97% init [3]
 6513     - S   1% crond
 8842     - S   1% xxzmuc0 -m XXX
 6296     - S   0% /usr/sbin/sshd
 4463     - S   0% kjournald
19681     - S   0% xxxtroker XXX
 4469     - S   0% kjournald
 4475     - S   0% kjournald
 2401     - S   0% kjournald
 8652     - S   0% /opt/IBM/ITM/lx8266/6g/bin/k6gagent
26093     - S   0% bpbkar -r 2678400 -ru root -dt 0 -to 0 -clnt ...
...

所以我能看到的是,init已经在磁盘上写了17 the的数据,这似乎很多。不过,我不知道如何找出是什么原因造成的。我认为Linux正在使用缓存来加速磁盘操作,但是当进程需要它时会返回它,并且不可能用缓存关闭服务器。

我们是在“红帽企业Linux版本5.5 (Tikanga)”的Linux精神错乱2.6.18-194.26.1.el5 #1 SMP星期五10月29日14:21:16 2010年x86_64 GNU/Linux。

我们下一步该怎么做才能找出出了什么问题?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-09-22 15:09:27

我看到bpbkar也很活跃,我会看看这个过程。它是赛门铁克NetBackup的一部分,检查在出现问题时是否有备份在运行。禁用它,看看在没有安排备份时是否再次发生问题。

如果bpbkar是一个错误的进程,您应该启用它的完整日志记录,以找出它是在哪里导致这个问题的。确保为它安装了最新的更新,因为它们总是解决大量的问题。

票数 1
EN

Server Fault用户

发布于 2014-09-22 18:18:52

看看slabtop实用程序。另外,您是否已经确定,他们的任务不是在您的系统上安排的I/O密集型cron作业(即mlocate/updatedb..)?

代码语言:javascript
复制
slabtop --sort=c
票数 7
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/630306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档