WebLogic JVM Core dumps文件的生成控制

本文档详细介绍了如何开启和关闭WebLogic JVM在遇到致命错误时自动生成Core dump文件的过程,包括通过调整`ulimit -c`系统参数、观察`/proc/<pid>/limits`文件及通过JDK参数`CreateCoredumpOnCrash`控制。通过这些方法,开发者可以在JVM崩溃时获取到关键的调试信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,背景

当我们运行的WebLogic JVM发生Fatal Error时,会造成JVM crash掉,进而造成进程终止。一般来说crash的时间我们是无法估计在什么时候的,它具有很大的偶然性,因此理论上有时我们希望自动产生Core dump文件来提供我们事后分析的信息记录。默认我们的系统是没有enable这个功能的,因此我们可以尝试开启。

1.1 core dump说明

core文件简介
core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下,文件名为core.***,其中***是某一数字。

核心转储(core dump),在汉语中有时戏称为吐核,是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。当一个进程要异常终止时,可以选择把进程的用户空间内存数据全部保存到磁盘上,文件名通常是core,这叫做Core Dump。进程异常终止通常是因为程序错误,比如非法内存访问导致段错误, 事后可以用调试器检查core文件以查清错误原因,这叫做Post-mortem Debug(事后调试)。
一个进程允许 产生多大的core文件取决于进程的Resource Limit(这个信息保在PCB中)。默认是不允许产生core文件的, 因为core文件中可能包含用户密码等敏感信息,不安全。在开发调试阶段可以用ulimit命令改变这个限制,允许产生core文件。

一个core文件里,包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理等信息,也就是把程序当时工作的状态存储成一个文件。不仅仅是在出错的时候会生成core dump文件,在系统卡住或者cpu使用率很高的时候也可以手动触发生成core dump文件。

1.2 手动模拟crash

Kill -11 <PID>

信号11(SIGSEGV)是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。

二,开启JVM crash自动产生Java core dump

2.1 测试环境:

OS: Red Hat Enterprise Linux Server release 6.7 (Santiago)

WebLogic Server 版本: 12.2.1.2.0

2.2 开启JVM crash自动产生Java core dump

core dump文件生成开关其实是通过对生成的文件大小进行控制达到的,默认大小是0,也就是说默认是不生成core dump文件的,可以通过命令ulimit -c进行查看。将此参数修改成unlimited就可以生成core dump文件了,但值得注意的一点是,每个应用进程都会读取自己的一套系统参数,可以查看进程对应的内存文件/proc/<pid>/limits中的信息来判断修改后的参数值是否对此应用进程生效了,limits文件中的信息如下:

查看core文件生成功能是否打开,如下若是0,则表示没有打开。
$ ulimit -c
0
修改为可以生成core dump文件:
1)临时设置
示例1:如下设置4G,单位为kbyte。
如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文 件的时候,gdb会提示错误。
# ulimit -c 4194304
示例2:不限制大小。
$ ulimit -c unlimited
$ ulimit -c
unlimited

2)永久设置

# echo " * soft core unlimited" >> /etc/security/limits.conf
# echo " * hard core unlimited" >> /etc/security/limits.conf

然后重启服务器或重新登录即可生效。

查看具体应用进程的core dump参数设置:

$ ps -ef |grep Server1
weblogic 13463 13412 99 01:40 ?        00:00:34 /usr/java/jdk1.8.0_144/bin/java -server -Xms256m -Xmx512m -Dweblogic.Name=Server1 -Djava.security.policy=/home/weblogic/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/Server1/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.nmservice.RotationEnabled=true -Djava.system.class.l

### 回答1: 基于Python爬虫网络舆情分析系统是一种利用Python编程语言开发的系统,旨在通过网络爬虫技术收集互联网上的舆情信息,并通过数据分析和挖掘技术对这些信息进行处理和分析,以便更好地了解公众对某一事件或话题的态度和看法。该系统可以帮助用户快速获取大量的舆情数据,并通过可视化的方式呈现出来,从而帮助用户更好地了解公众的情绪和态度,为决策提供参考。 ### 回答2: Python 爬虫网络舆情分析系统,是一种利用 Python 编程语言开发的一款舆情分析系统。 在这个分析系统中,爬虫是非常重要的一环。通过网络爬虫,我们可以抓取互联网上各种文本数据,比如新闻、博客、论坛、微博等等。然后,将这些数据进行处理,提取其中的关键词、情感倾向、事件等信息,进而进行舆情分析。在爬虫中,我们可以使用 Python 的第三方库,比如 Beautiful Soup、Scrapy、Requests 等等,来实现对网页的抓取和处理。 舆情分析算法是舆情分析系统中的另一个重要环节。在 Python 爬虫网络舆情分析系统中,我们可以使用 Python 的第三方库,比如 TextBlob、NLTK 等等,来实现情感分析、文本分类等算法。 除此之外,可视化和数据分析也是此系统的重要组成部分。我们可以使用 Python 中的 Matplotlib、NumPy 和 Pandas 等库,来分析和可视化数据。 最后,在这种舆情分析系统中,我们需要考虑数据安全和用户隐私保护。所以,在数据存储和传输中,需要注意数据加密、权限控制等措施,以保证数据的安全。 总之,Python 爬虫网络舆情分析系统是一种非常实用的舆情分析工具,可以帮助我们从海量的文本数据中提取有价值的信息,用于舆情分析、新闻监测、品牌管理等方面。 ### 回答3: 随着互联网技术的发展,网络舆情分析逐渐成为对企业、政府和个人进行决策、风险控制、品牌推广等方面的重要手段。而Python作为一种功能强大的开发语言,其简单易用、丰富的第三方库和生态系统,使得它成为了网络爬虫和自然语言处理的首选语言。本文将介绍基于Python爬虫和自然语言处理技术的网络舆情分析系统。 首先,爬虫技术是网络舆情分析的基础。Python中有多种用于爬取网站内容的库,如Requests和BeautifulSoup等。通过这些库,可以灵活地获取网站上的内容和信息。在爬取数据时,应该注意遵守网站的爬取规则,避免对网站的正常运营造成影响。 其次,自然语言处理技术是网络舆情分析的重要组成部分。Python中有多种用于文本分析的库,如NLTK和TextBlob等。这些库提供了词性标注、文本分类、情感分析等功能,可以用于对爬取的数据进行分析和处理。在进行自然语言处理时,需要注意处理中文文本的特殊性,应该选择相应的中文自然语言处理库。 最后,对于网络舆情分析系统来说,可视化是非常重要的。Python中有多种可视化工具,如matplotlib和Seaborn等。这些库可以帮助将数据转化为图形化形式,让用户更直观地了解数据。此外,还可以将数据展示在地图上,以便更好地分析舆情在地理上的分布。 综上所述,基于Python爬虫和自然语言处理技术,可以实现一套功能强大的网络舆情分析系统。这个系统可以帮助用户获取网站上的相关信息,对文本进行分析和处理,在可视化方面提供多种选项,从而帮助用户更好地了解和分析网络上的舆情。同时,还应该遵循数据保护的相关法律法规,保护用户的个人信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yangkei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值