1.环境介绍:

python:Python 3.7.0 (default, Jan 15 2022, 11:08:54)

# 操作命令
[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# python -V
Python 3.7.0 (default, Jan 15 2022, 11:08:54)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]

JPype1:1.3.0

# 查询已安装模块的版本
[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# pip list
Package                Version
---------------------- ---------
bcrypt                 3.2.0
certifi                2020.6.20
cffi                   1.14.3
chardet                3.0.4
cryptography           3.1.1
idna                   2.10
invoke                 1.4.1
JPype1                 1.3.0
mysql                  0.0.2
mysql-connector-python 8.0.21
mysqlclient            2.0.1
paramiko               2.7.2
pip                    21.3.1
protobuf               3.13.0
pycparser              2.20
PyMySQL                1.0.2
PyNaCl                 1.4.0
redis                  3.5.3
redis-py-cluster       2.1.3
requests               2.24.0
setuptools             39.0.1
six                    1.15.0
tornado                6.0.4
typing_extensions      4.0.1
urllib3                1.25.10

JPype1 · PyPIA Python to Java bridge.https://pypi.org/project/JPype1/参考文档:了解jpype1的使用的满足条件

Linux:centos7 64位

[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# uname -a
Linux usercentertesttools-master-test-0001-5f4d55d75-vvzhb 4.14.105-19-0020.1 #1 SMP Fri Apr 23 10:22:59 CST 2021 x86_64 x86_64 x86_64 GNU/Linux

2.问题

测试代码

import jpype
import pdbjava_path = ''
pdb.set_trace()
jpype.startJVM(jpype.getDefaultJVMPath(), '-ea', '-Djava.class.path={}'.format(java_path))

测试结果

[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# python abc.py
> /code/www/utils/tools/business/abc.py(6)<module>()
-> jpype.startJVM(jpype.getDefaultJVMPath(), '-ea', '-Djava.class.path={}'.format(java_path))
(Pdb) n
Error occurred during initialization of VM
java.lang.StackOverflowErrorat java.lang.Object.<clinit>(Object.java:41)

3.解决方案

1)启动vm失败,原因是stackoverflowerror

查看java参数,其中-Xss<size>        set java thread stack size

[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# java -x
Unrecognized option: -x
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@usercentertesttools-master-test-0001-5f4d55d75-vvzhb business]# java -X-Xmixed           mixed mode execution (default)-Xint             interpreted mode execution only-Xbootclasspath:<directories and zip/jar files separated by :>set search path for bootstrap classes and resources-Xbootclasspath/a:<directories and zip/jar files separated by :>append to end of bootstrap class path-Xbootclasspath/p:<directories and zip/jar files separated by :>prepend in front of bootstrap class path-Xdiag            show additional diagnostic messages-Xnoclassgc       disable class garbage collection-Xincgc           enable incremental garbage collection-Xloggc:<file>    log GC status to a file with time stamps-Xbatch           disable background compilation-Xms<size>        set initial Java heap size-Xmx<size>        set maximum Java heap size-Xss<size>        set java thread stack size-Xprof            output cpu profiling data-Xfuture          enable strictest checks, anticipating future default-Xrs              reduce use of OS signals by Java/VM (see documentation)-Xcheck:jni       perform additional checks for JNI functions-Xshare:off       do not attempt to use shared class data-Xshare:auto      use shared class data if possible (default)-Xshare:on        require using shared class data, otherwise fail.-XshowSettings    show all settings and continue-XshowSettings:allshow all settings and continue-XshowSettings:vmshow all vm related settings and continue-XshowSettings:system(Linux Only) show host system or containerconfiguration and continue-XshowSettings:propertiesshow all property settings and continue-XshowSettings:localeshow all locale related settings and continueThe -X options are non-standard and subject to change without notice.

2)在原有的启动的代码基础上加上

jpype.startJVM(jpype.getDefaultJVMPath(), '-ea', '-Djava.class.path={}'.format(java_path),'-Xss10240K')

3)在此执行时,运行成功。

附上在服务器上,python的debug命令

常用命令说明:
l #查看运行到哪行代码
n #单步运行,跳过函数
s #单步运行,可进入函数
p 变量 #b值
b 行号 #断点设置到第几行
b #显示所有断点列表
cl 断点号 #删除某个断点
cl #删除所有断点
c #跳到下一个断点
r #return当前函数
exit #退出

python+jpype+linux出现内存溢出问题解决方案相关推荐

  1. python会不会出现内存泄露_Python内存泄漏和内存溢出的解决方案

    一.内存泄漏 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题. 对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是 ...

  2. python 内存溢出能捕获吗_Python内存泄漏和内存溢出的解决方案

    一.内存泄漏 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题. 对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是 ...

  3. python内存泄漏解决方案_Python内存泄漏和内存溢出的解决方案

    一.内存泄漏 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题. 对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是 ...

  4. python多线程内存溢出_Python内存泄漏和内存溢出的解决方案

    一.内存泄漏 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题. 对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是 ...

  5. 转:记一次linux oom内存溢出排查过程

    @转:记一次linux oom内存溢出排查过程 记一次linux oom内存溢出排查过程 2018年08月16日 14:13:49 enchanterblue 阅读数 4099更多 分类专栏: --- ...

  6. Java常见内存溢出(OOM)解决方案

    Java 常见内存溢出(OOM)解决方案 一,jvm内存区域   1,         程序计数器 一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器. 2,         java栈 与 ...

  7. 位图引起的内存溢出OutOfMemory解决方案

    位图引起的内存溢出OutOfMemory解决方案 作者:老帅 一.问题描述:Android下的相机在独自使用时,拍照没有问题,通过我们的代码调用时,也正常,但是更换了不同厂商的平板,ROM由Andro ...

  8. matlab memorySian,matlab内存溢出的解决方案

    matlab内存溢出的解决方案(整理) 1)增加虚拟内存的方法是不可行的 2)使用PACK:PACK可以将matlab中的变量导出到磁盘中,以增加可用内存 3)减少变量的内存开销 4)64位架构:采用 ...

  9. linux weblogic 内存溢出,weblogic10内存溢出解决方法

    在开发过程中经常会遇到weblogic内存溢出问题,用下面的办法解决了. 找到domain/bin下的setDomainEnv.cmd文件,里面可以找到以下四行代码,将值该打一倍,重启服务. set ...

  10. 连接oracle内存溢出,Linux主机内存溢出导致oracle的SYS用户无法正常登陆

    一般情况下,ORACLE DBA看到如下情况的第一反应是,数据库实例没有启动或者是数据库环境变量没有设置正确,今天遇到的情况均不是以上两种情况,有点特别,且来看看为哪般. oracle@POC-SV1 ...

最新文章

  1. Android:你好,androidX!再见,android.support
  2. 如何从失焦的图像中恢复景深并将图像变清晰?
  3. Tungsten Fabric SDN — Service Chain — HA/LB
  4. 更改数据库对象所有者
  5. javascript的缓动效果
  6. Atom 相关配置备份
  7. 无人化运维离我们有多远?阿里智能化运帷平台深度揭秘
  8. 用C语言实现数组反序
  9. post postman 传递数组对象_如何使用postman做接口测试
  10. python解释器、pycharm安装及环境变量配置
  11. iphone pageController 的实现
  12. 【硬刚Hive】MYSQL/HIVESQL笔试题(七):HIVESQL(七)
  13. web前端数据可视化框架汇总
  14. 十一、看门狗定时器实现1秒定时
  15. [源码阅读]解析Anime(JS动画库)核心(1)
  16. 看看乔帮主留下的世界
  17. html视频怎么改大小,视频画面尺寸重置-视频画面大小调整的方法哪个好,视频尺寸怎么修改...
  18. 【软件安全:软件安全技术课后习题及答案】
  19. 控制儿童在什么时段使用计算机,win10系统设置控制孩子用电脑的时间的图文步骤...
  20. Genexus 15 安卓SDK配置项

热门文章

  1. 恒德可视化指挥调度解决方案
  2. QListView text动态显示
  3. y = mapminmax(‘apply‘,x,ps)与mapminmax(‘reverse‘,y,ps)
  4. Js封装组件 + Slots插槽
  5. 分布式架构网络通信——netty
  6. 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
  7. 【040】翼辉信息与中国通号集团战略合作签约仪式圆满举行
  8. OpenCV 直方图均衡化
  9. PC防光护眼专家Iris Pro绿色特别版 傻瓜式软件
  10. CUDA各版本官方下载地址