Linux kernel futex.c的bug导致JVM不可用
JVM死锁导致线程不可用,然后会瞬间起N个线程,当然也是不可用的,因为需要的对象死锁,然后耗尽文件句柄导致外部TCP无法建议拒绝服务,jstack之后就会恢复。
解决办法:替换中间件类库 ,比如httpclient的。
原因大致是:
某个switch分支缺少memory barrier的正确处理,导致外部应用如JVM的lock被错误锁住;一般jstack连后就恢复。
https://github.com/torvalds/linux/commit/76835b0ebf8a7fe85beb03c75121419a7dec52f0
https://www.zhihu.com/search?type=content&q=jvm%E5%81%87%E6%AD%BB
https://ma.ttias.be/linux-futex_wait-bug/
JVM内存模型-重排序&内存屏障
内核源码:https://mirrors.edge.kernel.org/pub/linux/kernel/
http://mirrors.163.com/kernel/linux/kernel/
Linux kernel futex.c的bug导致JVM不可用相关推荐
- Java线上问题排障:Linux内核bug引发JVM死锁导致线程假死
Java本质上还是离不开操作系统,一来Java源码是用C/C++实现的,二来java进程还是需要依附于操作系统和硬件资源,有时候一些问题是操作系统级别导致的,下面的整个事件是源自一则真实的线上案例. ...
- Linux kernel内核编译配置选项详解
转载于:http://lamp.linux.gov.cn/Linux/kernel_options.html 作者:金步国 Code maturity level options 代码成熟度选项 Pr ...
- linux kernel 配置(部分) 部分内容翻译自内核帮助文档
linux kernel 2.6.13 在配置内核前,你应当对详细的了解运行内核的系统,根据自己的需要配置内核. 下面,我将解释内核的各个选项,并根据本人的机器作相应的配置. 在此之前,我把机器硬件参 ...
- CTF-PWN-babydriver (linux kernel pwn+UAF)
第一次接触linux kernel pwn,和传统的pwn题区别较大,需要比较多的前置知识,以及这种题的环境搭建.运行和调试相关的知识. 文章目录 Linux内核及内核模块 Linux内核(Kerne ...
- linux命令注入,Linux kernel本地命令注入漏洞
Linux kernel本地命令注入漏洞 2005-10-19 eNet&Ciweek Linux kernel 2.2.6 Linux kernel 2.2.5 Linux kernel 2 ...
- [转]HOWTO do Linux kernel development - take 3 (中文版)
打好linux基础,不断的跟随这篇文章中的建议,适应linux kernel开发的流程.虽然需要很久甚至几年的时间,但我相信坚持就会前进!加油! HOWTO do Linux kernel devel ...
- Exploiting “BadIRET” vulnerability (CVE-2014-9322, Linux kernel privilege escalation)
insight-labs · 2015/02/06 14:24 from:http://labs.bromium.com/2015/02/02/exploiting-badiret-vulnerabi ...
- Linux kernel的中断子系统之(九):tasklet
返回目录:<ARM-Linux中断系统>. 总结: 二介绍了tasklet存在的意义. 三介绍了通过tasklet_struct来抽想一个tasklet,每个CPU维护一个tasklet链 ...
- Linux kernel中常见的宏整理
0x00 宏的基本知识 // object-like #define 宏名 替换列表 换行符 //function-like #define 宏名 ([标识符列表]) 替换列表 换行符 替换列表和标识 ...
最新文章
- 2017蓝桥杯 对局匹配(贪心)
- 3P5 Industrial Engineering Lecture 1-2: Method of Study
- mysql视图使用方法
- 用Vim编程——配置与技巧
- MySQL数据库开发 (视频)
- 人生规划:20岁到60岁我该干什么
- python内存池机制,python基础—12python内存管理机制
- 盘点实际项目应用中的最佳机器学习模型
- <读书笔记> Thinking in python (Python 设计模式) 3. Proxy and State模式
- 怎么看linux的命令说明,在linux下,怎么用命令来查看版本?
- 洛谷—— P1268 树的重量
- quartz 时间设置(定时任务scheduler)
- 打开pdf文件提示文件过大_如何把pdf文件进行分割?拆分pdf文件的方法分享
- java poi 设置时间空间_POI对Excel自定义日期格式的读取(实例代码)
- opencv接受树莓派usb摄像头rtsp视频流
- 颜值测试API,微软小冰颜值,颜值API
- 谷歌/FOFA搜索引擎使用
- springSecurity之http Basic认证
- Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包
- NCCL下载及安装教程
热门文章
- OpenCV中的特征匹配(Feature Matching)
- 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
- GitHub开源的10个超棒后台管理面板
- php 空格zhuanyi,php写的将逗号、空格、回车分...-php字符转义的相关注意事项-IIS环境中防止本地用户用fsockopen进行DDOS攻击的方法_169IT.COM...
- sdk没有登录什么意思_不需要接入SDK的第三方登录及分享
- CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset
- C语言网络编程:TCP客户端实现
- 探讨UnsupportedOperationException的原因及解决方案
- Setting the Reply-To Header in an Email using CDONTS.NewMail Object and CDO Message
- 从零打造在线网盘系统之Hibernate框架起步