首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux内存不足导致tomcat宕机

已经不在运行了 free -m 查看内存,当时那台机器free,只有77了,这张图是后在自己电脑上截的 grep "Out of memory" /var/log/messages 查看系统日志,显示内存不足...这是由于Linux 内核有个机制叫OOM killer(Out Of Memory killer),,当系统内存不足的时候,out_of_memory()被触发,然后调用select_bad_process...linux选择”bad”进程是通过调用oom_badness(),挑选的算法和想法都很简单很朴实:最bad的那个进程就是那个最占用内存的进程。 ​...top 可以使用top查看内存状态,可以看到mysql占内存最多,其次是pid=6021的Java程序 ps -ef|grep 6021 查看到6021是一个java程序 cat /proc/PID.../oom_score 可以看到mysql的oom分数为63,java程序的oom分数为37 如何使内存不足时,不去杀我们重要的业务相关的进程?? ​

3.1K10

程序效率指南

不少读者希望我谈一谈如何提高平时开发工作的效率效率这个东西,无非就是工具的使用,而在这方面,仁者见仁,智者见智,我无意挑起新的战争。...Rule 4: 使用dotfiles 一个程序员一天可能80%的时间都在跟shell打交道,有个好的shell(bash or zsh),加上合理的shell配置绝对让效率提升一大截。...程序世界里的无涯子和白猿们都在github上,只是需要你的发掘。...一个程序员的效率很大程度上跟他的snippet库有关。如果你的python class,html的标签,erlang/elixir的otp代码还是一个字符一个字符手敲,那么你该好好看看这个插件了。...Rule 10: 订阅「程序人生」 这个不解释,你懂的。:) ---- 1. 真心不贵了,13" 港版 mbp 8k而已 2. 有时候逼格也确实让心情愉快,从而间接提高效率

87560

Linux探秘之IO效率

^_^ 二、缓冲机制   众所周知,CPU和内存的数据交换要远大于磁盘操作,通过缓存机制,可以减少磁盘读写的次数,提高并发处理程序效率,因此,缓存是一种提高任务存储和处理效率的有效方法。...从宏观上看,Linux操作系统分为用户态和内核态,在处理I/O操作的时候,两者都提供了缓存。用户态的称为标准I/O缓存,也称为用户空间缓存,而内核态的称为缓冲区高速缓存,也叫页面高速缓存。...(6) 预读:当检测到正进行顺序读取时,内核就试图读入比应用程序所要求更多的数据,并假想应用程序很快就会读到这些数据。这样,当缓冲区没有数据时,能够快速填充下次要读取的数据。...(2) 同样有三种函数类型可以调用,以fgetc、fgets、fread为例,读入逻辑单元进行后续的处理。...=4096处,原因是该测试所采用的是Linux ext2文件系统,其块长为4096字节,也即缓冲区所能申请到的最大缓冲区大小,我们把4096字节看做是本次最佳I/O长度。

1.1K70

微信小程序的好处及可能的不足

微信小程序是什么?小程序基于微信体系,在微信内部不用安装就能使用,体积不超过1 M。如果简单粗暴一点,小程序可以简单理解为——“微信应用”。...2.小内存手机救星 所有小程序都不会超过1 M,且可以离线开启,对于那些动辄几十上百兆的App来说,小程序小巧很多。对于哪些16G的用户而言,有了小程序就可以删掉很多App腾出空间来了。...但小程序不能订阅,不能分享到朋友圈,所以很可能就是用完一个小程序就找不着了。 3.太过依赖微信 小程序完全依赖于微信,这是好事,同时也是一件坏事。...小程序的出现对大多数人基本的微信使用习惯不会造成翻天覆地的变化,但小程序就是一旦用过就会成习惯的功能,而且会越来越依赖它。 这个过程可能需要一段时间适应,习惯去使用小程序。...因为随着小程序的发展,当你50%的事情都能在微信上处理时,你自然会希望剩下的50%也更多的在这里完成。 对于最普通的用户而言,微信能够通过小程序以一种性感的方式连接很多场景,让你越来越离不开微信。

2K61

程序效率的奥义

自我感觉还是蛮在乎效率的人。为了提高效率,我特别重视如下几点: 工具化 我是个典型磨刀不误砍柴工的人。 2011年的时候,在开发一个项目前,我先花了几个礼拜自己开发了一套Web框架。...其实都是造轮子,然而这些轮子我们先不说它是否优于其他相似的开源项目,至少我对它们是把控力的,而且解决的也是我工作中比较常遇到的问题,所以用了起来特别的顺手,自然也就效率很高。...对于一个不趁手的语言,代码质量是否能保证我们先姑且不论,其实也严重影响了开发效率。 所以我工作中潜在的可能会用到的东西,我都会先花很多时间去调研和练习,等真正用到的时候,就能如鱼得水,随心所欲。...程序员是拥抱变化的,体现在程序员常说,一天不学习,就感觉自己进入了古代。然而程序员又是害怕变化的,对于自己不熟悉的东西,总是会比较排斥,这或许也是人类的天性。...所以,喜欢调研和测试新技术的程序员,往往是具有打破惯性的特质的群体。他们在不断的尝试过程中,不断的更新换代自己的武器,让自己保持某种先进性。

37930

2018-12-20 程序员内功系列--Linux效率工具程序员内功系列--序篇

程序员内功系列--序篇 作为一名曾经的.NET程序员,做了9年有余的.NET开发,从那时起,我一直以为Visual Studio已经是这个世界上最贴心的IDE了,因为它包含了一系列的“开箱即用”(battery...作为一名程序员,我认为shell与命令行是不可不修的一门内功。...那些极客和黑客们,都是在命令行中驰骋天下,弹指之间,对手的服务器灰飞烟灭,实在是酷炫到爆…… 话题又扯远了,练就此内功,虽然不能让你像黑客那样征服世界,但是至少能让你敲代码的时候,更加得心应手(逼格满满),引来无数程序猿们围观...因为它让你的效率提高的不只是一点半点。在此,也想以此blog系列,分享一下我平时使用命令行以及各种命令行工具的经验,向各位程序员同学安利一些内功心法。...所以,葫芦里的药打算这样卖: 程序员内功系列–iTerm与Zsh篇 程序员内功系列–Tmux篇 程序员内功系列–Vim篇 程序员内功系列–常用命令行工具篇 内功系列中提到的所有配置文件,都会放在这里:

42920

Linux信号处理

信号实现原理 接下来我们分析一下Linux对信号处理机制的实现原理。...,所以信号处理程序的代码是在用户态的。...我们知道,从内核态返回到用户态时,CPU要从内核栈中找到返回到用户态的地址(就是调用系统调用的下一条代码指令地址),Linux为了先让信号处理程序执行,所以就需要把这个返回地址修改为信号处理程序的入口,...Linux的做法就是在用户态栈空间构建一个 Frame(帧)(我也不知道为什么要这样叫),构建这个帧的目的就是为了执行完信号处理程序后返回到内核态,并恢复原来内核栈的内容。...代码 k = ¤t->sig->action[sig-1] 就是获取对应信号的处理程序,然后把其设置为新的信号处理程序即可。

5.8K40
领券