今天生产机器突然无法登录了,正好有一个用top挂着,但是退出top,执行任何命令都报-bash: fork: Cannot allocate memory,但是查看内存还是有很多空闲,然后在百度上查了很多资料,经过在虚拟机上测试,找到了解决办法. 原因是进程数满了,超过了系统设置的默认值 查看最大进程数 sysctl kernel.pid_max 查看所有进程数ps -eLf | wc -l 会发现所有进程数基本快超过系统默认的进程数量了 修改最大进程数后系统即可恢复,无需重启进程.echo 1…
今天遇到服务器无法SSH,VNC操作命令提示fork:cannot allocate memory free查看内存还有(注意,命令可能要多敲几次才会出来) 查看最大进程数 sysctl kernel.pid_max ps -eLf | wc -l查看进程数  确认是进程数满了 修改最大进程数后系统恢复echo 1000000 > /proc/sys/kernel/pid_max 永久生效echo "kernel.pid_max=1000000 " >> /etc/s…
应该是某个程序吃掉了所有的内存,只能重启…
早上到了公司,发现docker资源池的某一台主机根文件系统写满. 检查后发现该主机/data目录未挂载文件系统,直接放在了根目录下.于是联系业务方将应用迁移,联系主机工程师为/data挂载80G的存储空间. 接着顺便检查了其它资源池主机的磁盘分区上可使用的磁盘空间.使用df -h命令查询,结果直接hang死. 去其它主机执行df命令,同样全部hang死. 随后主机上Docker容器内跑的业务开始报错. 尝试检查/var/log/message系统日志,发现全部被业务的报错日志充斥,可读性很差.…
查看 Redis 日志 发现系统在频繁报错: [26641] 18 Dec 04:02:14 * 1 changes in 900 seconds. Saving… [26641] 18 Dec 04:02:14 # Can’t save in background: fork: Cannot allocate memory   在小内存的进程上做一个fork,不需要太多资源,但当这个进程的内存空间以G为单位时,fork就成为一件很恐怖的操作.何况在16G内存的主机上fork 14G内存的进程呢…
今天遇到服务器无法SSH,VNC操作命令提示fork:cannot allocate memory free查看内存还有(注意,命令可能要多敲几次才会出来) 查看最大进程数 sysctl kernel.pid_max ps -eLf | wc -l查看进程数  确认是进程数满了 修改最大进程数后系统恢复 echo 1000000 > /proc/sys/kernel/pid_max 永久生效 echo "kernel.pid_max=1000000 " >> /etc…
redis : Can't save in background: fork: Cannot allocate memory JAVA程序报错信息: MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs fo…
问题的发现及解决过程: 1.Redis主从复制(一主一从)环境在客户端用命令查看主从状态 在slave上输入命令显示如下: 在master上输入命令显示如下: 从显示可以看出主从关系出现问题,然后查看slave的redis.log有如下报错: 以为是IP及端口问题,经检查后发现非此问题.于是在网上查看一些别人的解决方法,但试过后都无效.于是查看master的redis.log有如下报错: 说明内存不足,无法为fork子进程分配内存,这就是主从出现问题的原因. 解决方法: 在master上的操作:…
在做压力测试时候: [root@666 ok]# webbench -c 5000 -t30 http://10.100.0.61/ Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.100.0.61/ 5000 clients, running 30 sec. Speed=176440 pag…
一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘.缓存机制优点:减少系统调用次数,降低CPU上下文切换和磁盘访问频率.CPU上下文切换:CPU给每个进程一定的服务时间,当时间片用完后,内核从正在运行的进程中收回处理器,同时把进程当前运行状态保存下来,然后加载下一个任务,这个过程叫做上下文切换.实质上就是被终止运行进程…