最近阿里云的服务器因为开着http服务,经常因为没有内存出现 Out of memory: Kill process,运气不好kill掉了sshd之后, 服务器就只能重启了。
上google研究了一下, 找到了一些配置方法。记录一下,备忘。
sysctl vm.panic_on_oom=1
sysctl kernel.panic=X
echo "vm.panic_on_oom=1" >> /etc/sysctl.conf
echo "kernel.panic=X" >> /etc/sysctl.conf
上面配置可以让linux在出现 Out of memory之后重启。
echo -15 > /proc/2592/oom_adj
这会让 oom 在出现 Out of memory后,尽量不去kill这个进程。
echo 10 > /proc/2592/oom_adjoom
会优先考虑kill这个进程。
echo -17 > /proc/2592/oom_adj
oom在Out of memory时, 不会kill该进程。
oom_adj的值在-16 到 +15之间,值越高被kill的优先度越高,如果设为 -17, 这进程不会被kill掉。
sysctl vm.overcommit_memory=2
echo "vm.overcommit_memory=2" >> /etc/sysctl.conf
可以完全关掉oom, 不过这并不建议,关掉后可能会出现未知的情况。
相关推荐
linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。 实现原理: 由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。 crontab...
Linux进程可以处于以下几种状态: - **运行状态 (R)**:进程正在运行或准备运行。这包括正在CPU上运行的进程(Running)和等待运行机会的进程(Runnable)。 - **睡眠状态 (Sleeping)**:进程暂时不需要CPU,因为...
Linux平台 下 进程监控自动 重启 恢复脚本, 测试 centos平台下 java, springboot 通过
`ps -ef`命令用于列出系统中所有运行的进程,`grep "$PWD/loader"`则筛选出包含`loader`的行,而`grep -v "grep"`排除掉`grep`命令自身的行,避免误判。如果`stillRunning`变量不为空,表示`loader`进程正在运行,...
3. **日志管理**:Supervisor能够收集被管理进程的日志信息,便于进行错误诊断和故障排查。 4. **远程管理**:通过内置的HTTP服务器接口,用户可以通过Web界面或者API远程管理Supervisor实例,方便地控制被管理的...
这时,可以使用 fuser -u 命令杀掉进程,然后使用 df 命令查看文件系统的使用情况。 通过使用 df 命令、du 命令和 ls 命令,可以轻松地获取文件夹和文件的大小信息,从而更好地管理 Linux 系统。
ps auxw|sort -rn -k4|head -40`命令,我们可以查看消耗内存最多的前40个进程。如果发现php-fpm进程占用内存过多,那么需要对php-fpm的配置进行调整。 php-fpm的配置文件一般位于`/etc/php-fpm.d/www.conf`,在这里...
Linux下的常驻进程的作用不可忽略,但这里面的问题也不能忽略,怎么启动进程,怎么结束进程,怎么在进程挂掉之后重启进程都要设计的合理。下面看一个shell控制的php常驻进程的例子。 不废话,直接捞干货,上代码,...
花了一整天在跟踪一个问题,每次感觉已经快找到原因的时候发现现象又变了,我觉得从中吸取的教训可以给大家分享一下。 为了重现这个现象,我写了一个简单的例子。在本例中,先初始化了一个map,然后用一个无限...
同时,每个守护进程都会尝试获取对方的锁定文件,获取成功则表明对方挂掉,需启动对方。 2. **服务器程序Server**:守护进程A同时负责守护服务器程序Server,而守护进程B仅关注守护A。当发现Server或A挂掉时,相应地...
1. **查看帮助信息**:`man` 命令可以帮助用户了解其他命令的使用方法。 - 示例:`man date` 2. **显示日期**:`date` 命令用于显示或设置日期和时间。 - 示例:`date` 3. **显示日历**:`cal` 命令用于显示日历...
在处理大量数据时,例如在建立一个T级别的数据库(即TB级数据量)时,可能会遇到各种问题,如文中描述的进程挂掉的情况。这通常涉及到内存管理、磁盘I/O压力、系统资源限制或错误的数据迁移过程。 在提供的错误信息...
有时 Linux 系统或者系统上运行的 Java 或者其它进程,会发生一些莫名其妙的问题,比如突然挂掉了,比如突然重启等等。在软件上找不到问题所在,此时我们应该怀疑硬件或者内核的问题,此时我们就可以使用 dmesg 来...
【Python-Fossor:自动化调查挂掉的主机和服务的面向插件工具】 Fossor 是一个用 Python 编写的高效工具,专为IT运维人员和安全分析师设计,用于自动化调查和诊断系统问题,特别是针对挂掉的主机和服务。它采用模块...
5. 杀掉挂起进程:有时Tomcat服务可能因某些原因无法正常关闭,可以使用`pkill`或`killall`命令强制结束相关进程。 6. 检查依赖:确保所有Tomcat依赖的服务和库都已正确安装和配置,如Java环境。 三、Linux下压缩...
如果是把所有的文件统一安装在一个大的 `/` 分区当中,可以在 boot 提示符下用 `linux single` 进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写...
对于不同的Linux发行版,这一层的应用程序可能会有所不同,尤其是针对特定用途定制的嵌入式Linux系统,往往会根据需求裁剪掉不必要的应用。 2. **O/S服务层**:这一层主要包括操作系统提供的服务,比如窗口管理...
描述中提到的“自动重启已挂掉的tomcat服务器,省去人工人力,保证服务器的正常运行”,意味着通过自动化机制,可以避免因为Tomcat崩溃导致的服务中断,同时减少管理员的维护工作量。这不仅提高了服务的可用性,也...