问题

zabbix-agent在一台centos6.5上启动报错:

cannot allocate shared memory of size 949056: [28] No space left on device
cannot allocate shared memory for collector

检查

# sysctl -a | grep shm
kernel.shmmax =
kernel.shmall =
kernel.shmmni =

kernel.shmmax        单个共享内存段的最大尺寸,单位byte
kernel.shmall           系统可分配共享内存段的最大值,单位是页
kernel.shmmni         共享内存段的最大数量

还可以通过另一个命令查看:

# ipcs -l
------ Shared Memory Limits --------
max number of segments =
max seg size (kbytes) =
max total shared memory (kbytes) =

max number of segments 对应 kernel.shmmni
max seg size (kbytes) 对应 kernel.shmmax (33554432 / 1024 = 32768)
max total shared memory (kbytes) 对应 kernel.shmall (可以计算出页的大小了:8388608 * 1024 / 2097152 = 4096)

解决

下面开始分析问题,通过日志可以看到zabbix-agent需要的交换内存大小是949056,远小于kernel.shmmax(33554432),所以该参数没问题;

用下面的命令可以查看交换内存的分配情况(为方便展示这里是一台正常运行了zabbix-agent的主机):

# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x6c0105b0 zabbix

在此基础上,统计下交换内存已经被用了多少(回到问题主机):

# ipcs -m | grep '^0x' | awk '{print $5}' | awk '{sum+=$1}END{print sum}'
    

1805120,远小于kernel.shmall(2097152 * 4096) ,所以该参数也没问题;

到这里已经只剩下一个原因,数量被占满了:

# ipcs -m | grep '^0x' | wc -l
    

这时候可以通过 ipcs -m 看看是哪些程序把数量占满了,若有异常可以选择用 ipcrm 释放,都是正常占用的话就选择提高最大数量(这里提高到两倍):

# sysctl -w kernel.shmmni=

若希望重启系统后依旧有效,把该参数写入配置文件:

# /etc/sysctl.conf
kernel.shmmni =

(另两个参数的修改方式是一样的)

over

linux查看与修改交换内存配置(解决zabbix-agent启动报错)的更多相关文章

  1. 解决spring boot启动报错java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level

    解决spring boot启动报错java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level 学习了:https://blog.csdn. ...

  2. ubuntu16.0.4下修改MySQL的data目录之mysqld启动报错

    由于需要更换MySQL的data目录,更改完成后启动报错如下: apparmor="DENIED" operation="mknod" profile=&quo ...

  3. 解决Android AVD启动报错问题

    好不容易从ADT Bundle转为Android Studio的开发环境,一路荆棘,现在又遇到了模拟器的问题,本来直接用真机调试程序会更快些,但是为了模拟多种系统不得不开启AVD. 废话不说,问题和解 ...

  4. 解决Idea项目启动报错:程序包javax.servlet.http不存在

    报错信息 在没有使用maven的时候,web项目从远程仓库获取下以后,起一次启动往往会报错javax.servlet.http程序包找不到,随之而来的java基础包都将不能使用,报错信息如下: 解决方 ...

  5. 启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错

    本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正. 我的是CentOS6.3+MySQL5.1.57. 重启了一次服务器后,使用> mysql -u root -p登陆 ...

  6. 配置svn,httpd启动报错 Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

    查看httpd的状态,发现80端口被占用,因为我的nginx的80端口. systemctl status httpd.service  解决: 把Apache的端口该成别的端口 vi /etc/ht ...

  7. zabbix启动报错:Connection to database 'xxx' failed解决方法

    Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通 ...

  8. 【转】linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有 ...

  9. linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有1 ...

随机推荐

  1. java课程设计团队博客《基于学院的搜索引擎》

    JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...

  2. lamdba表达式

    lambda表达式是一个可传递的代码块,可以在以后执行一次或多次. lambda表达式的语法: 1. 参数 -> 表达式(无需指定返回类型) (String first, String seco ...

  3. workerman 安装event 扩展

    2018年7月31日10:07:47 一些小技巧 命令行直接运行PHP代码 php -r "phpinfo();" 交互模式运行PHP php -a PHP脚本作为shell脚本运 ...

  4. Android字符串,颜色,尺寸资源的使用

    字符串.颜色.尺寸资源文件这三种文件位于res文件夹的values文件夹中,名称分别为strings.xml , colors.xml , dimens.xml下面是例子,首先来看字符串资源文件str ...

  5. iconfont在线链接使用方法(转)

    原文:https://blog.csdn.net/jinkingliao/article/details/51353937 基础流程就不多赘述,直接到http://www.iconfont.cn/官网 ...

  6. linux /proc/sys/vm/中各个文件含义

    1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debu ...

  7. IIS宿主WCF服务*.svc Mime类型映射

    经常会遇到由于.net安装组件缺失,导致发布wcf服务后,访问wcf报.svc请求类型不支持 简单方法就是添加删除程序,修改.net组件安装选项,勾选http激活即可: 或者手工添加映射处理程序 1. ...

  8. git使用:本地项目推送到gitlab

    背景:目前公司用gitlab管理我们的项目,经常遇到的问题是,我会在其他已有项目上直接进行修改,然后用于新项目的自动化测试,但是本地推送到gitlab的时候每次都要重新查询一遍怎么操作,特意写下这篇文 ...

  9. Ztree节点增加删除修改和Icheck的用法

    简介 官方文档:http://www.treejs.cn/v3/api.php zTree 是一个依靠 jQuery 实现的多功能 “树插件”, 而且拥有较好的浏览器兼容性,有着丰富的功能以及可以自定 ...

  10. Django---手动编写视图

    手动编写视图 一. Request----->URL---->业务处理(Views)(Http Response) Response-------> 二. VOE    Django ...