首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux out of memory分析(OOM)

原文:http://blog.csdn.net/guomsh/article/details/6536915 Linux有一个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题...,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。     ...当low memory耗尽,不管high memory剩多少,oom-killer都会杀死进程,以保持系统的正常运行。     ...在32位CPU下寻址范围是有限的,Linux内核定义了下面三个区域: # DMA: 0x00000000 - 0x00999999 (0 - 16 MB) # LowMem: 0x01000000.../185 以上是从网络上查到,结合自己的问题进行下补充: 一开始由于系统配置是2G,而且没有交换分区,所以每天导致out of memory,后来增加了物理内存,并做了交换分区,情况有所改善,但是运行2

8.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    细说|Linux Out Of Memory机制

    Linux 内核发现系统中的物理内存不足时,首先会对系统中的可回收内存进行回收,能够被回收的内存有如下: 读写文件时的页缓存。 为了性能而延迟释放的空闲 slab 内存页。...因为使用这些内存页只是为了提升系统的性能,释放这些内存页也不会影响系统的正常运行。 如果释放上述的内存后,还不能解决内存不足的情况,那么内核会如何处理呢?...由于在 Linux 系统中,进程申请的都是虚拟内存地址。所以当程序调用 malloc() 申请内存时,如果虚拟内存空间足够的话,是不会触发 OOM 机制的。...我们来看看 pagefault_out_of_memory() 函数的实现: void pagefault_out_of_memory(void) { ......out_of_memory(NULL, 0, 0, NULL, false); ... } 可以看出,pagefault_out_of_memory() 函数最终会调用 out_of_memory

    2.9K31

    Linux定时器自动运行命令的工具

    例如,下面的表达式在每月每日每小时的0分钟运行备份脚本: /opt/backup.sh 0 * * * * 下面的表达式在周日的凌晨 3:30 运行备份脚本: /opt/backup.sh 30 3...0 分运行@monthly 在每月的第一天的 0 时 0 分运行 例如,下面的 crontab 命令在每天的 0 时运行备份脚本: /opt/backup.sh @daily 如何停止一个 cronjob...一旦你开始了一个 cronjob,它就会永远按照计划运行。...$ EDITOR=nano crontab -e 如需停止一个正在运行的作业,可以 使用标准的 Linux 进程命令 来停止一个正在运行的进程。...它是自动的 一旦你编写完 crontab,保存了文件并且退出了编辑器。你的 cronjob 就已经被调度了,剩下的工作都交给 cron 完成。

    1.7K00

    Linux下的SFTP的automatic自动运行script脚本

    开始研究Linux下的自动上传脚本。 UPDATE:2014.3.10.已验证,使用密钥最好,http://www.linuxidc.com/Linux/2014-03/97976.htm。...只能突出一个吐血{ ftp端口被封,而且linux服务器上不一定装了ftp。 服务器数量很多,只能从服务器端上传至日志服务器(使用的freesshd搭建sftp服务器,感觉还不错)。...根据现有batch经验,还是从自动化的ftp入手。 ftp被禁掉了。。 还有与ssh共存的sftp,而且公司统一都用ssh登陆linux服务器,所以服务器上一般都装有sftp。...ftp有s参数,自动读取文本内容,执行文件中的命令。 恩,研究了一下sftp也有-b参数,运行batchfile。 擦!!...然后就卡在这里了,-b参数赫然写到只能运行cmd命令而不能进行密码自动认证,想要避免输入密码就必须要使用ssh的publickey秘钥认证啊!!

    4.1K10

    Linux系统设置开机自动运行脚本的方法实例

    在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?...方法一:修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。...image.png 方法二:使用 crontab 大家知道,crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。...但是,有个特殊的任务,叫作 @reboot ,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。 那它将运行的是什么脚本呢?我们如何去设置这个脚本呢?...$ reboot 总结 到此这篇关于Linux系统设置开机自动运行脚本的文章就介绍到这了,更多相关Linux开机自动运行脚本内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

    11.8K32

    Linux服务器JBoss运行环境搭建步骤和开机自动启动脚本编写运行

    Jboss运行环境:Linux+Jdk+Jboss+jsp系统 Jboss软件说明:类似于Tomcat,就是一个跑Jsp系统的环境,他的站点路径跟Tomcat类似,Tomcat存放站点文件到webapps...GA #path config export PATH=$PATH:$JAVA_HOME/bin:$JBOSS_HOME/bin   执行指令source /etc/profile刷新环境变量 开机后自动启动...Jboss" $JBOSS_HOME/bin/shutdown.sh fi ;; *) echo $"Usage: $0 {start|stop}" exit 1 ;; esac exit $RETVAL 自动启动脚本授权...运行chmod 755 /etc/rc.d/init.d/jboss命令,使得脚本文件可执行 注册jboss服务 运行chkconfig --add /etc/rc.d/init.d/jboss命令,...将其加到服务中 启动Jboss 运行sh /data/app/jboss-4.2.3.GA/bin/run.sh命令 停止Jboss服务: service jboss stop 启动Jboss服务: service

    1.6K20

    linux用户命令,运行某个命令后,指定运行时间过后自动结束程序运行的timeout命令详解

    timeout命令介绍: 这个命令在linux的各大发行版本中几乎都自带的,无需安装,终端输入命令即可运行。 启动命令后,如果在指定的时间过后仍在运行,则杀死该运行的程序。...如果持续时间设置为零,则后面运行的任意命令都不会被强制杀死,直到该命令自身运行结束为止(其实设置为0后,这该命令也就失去了使用它的意义);必须在参数前提供命令选项。...命令使用示例: linux中的ping命令执行后,只要用户不在终端结束该命令或者不关闭当前命令运行的终端,就会一直运行,这时候我们可以使用timeout命令配合ping命令,实现在3秒后结束ping。...例如我们运行一个命令后,我希望它3秒后立刻停止运行,也不会在后台让他继续在运行,就可以这样使用,示例如下: timeout -s sigkill 3 ping qq.com sigkill...示例:ping命令运行一分钟,如果命令没有结束,将在10秒后完全终止命令 image.png

    10.7K112
    领券