注:geoserver 版本 Linux geoserver2.15.0    安装 :bin方式安装(内嵌jetty,非war安装)

一。geoserver调优之Java图像处理优化

1.原生JAI和ImageIO

GeoServer的图像处理功能使用了Java的JAI和JAI ImageIO功能,但由于Java的JAI和JAI ImageIO库默认是Java实现,若将其换为原生库可显著提高图像处理速度。注意,在windows下只有32位Java环境才可用,64位Java环境不可用原生库。下载和拷贝原生库文件的操作参考以下代码:

cd /tmp

#解压

gunzip -c jai-1_1_3-lib-linux-amd64.tar.gz | tar xf -

gunzip -c jai_imageio-1_1-lib-linux-amd64.tar.gz | tar xf -

#把解压之后的相关文件拷贝到jre目录下(jdk安装目录)

#/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64   指jdk安装目录,查看jdk安装目录,参考:

https://www.cnblogs.com/luminccs-5308/p/10043338.html

cp /tmp/jai-1_1_3/lib/*.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/

cp /tmp/jai-1_1_3/lib/*.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/

cp /tmp/jai_imageio-1_1/lib/*.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/

cp /tmp/jai_imageio-1_1/lib/*.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/

2.重启geoserver报错        geoserver启动 Could not initialize class javax.media.jai.JAI

3.解决:删除$CATALINA_BASE/webapps/geoserver/WEB-INF/lib目录下的 jai_codec-1.1.3.jar; jai_core-1.1.3.jar; jai_imageio-1.1.jar 三个文件

注:先备份后删除

mkdir -p  /tmp/geoserver/

cp /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib/jai*.jar    /tmp/geoserver/

cd /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib

ls

ls jai*

rm -f -r jai_codec-1.1.3.jar

ls jai*

rm -f -r jai_core-1.1.3.jar

ls

ls jai*

rm -f -r jai_imageio-1.1.jar

ls jai*

4.重启geoserver

二。原生库变回java库

1.删除jre下的原生jar包(核对是否是自己之前复制过去的那些jar包)

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_codec.jar

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_core.jar

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_imageio.jar

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/mlibwrapper_jai.jar

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/clibwrapper_jiio.jar

2.删除jre下的原生so文件(核对是否是自己之前复制过去的那些文件)

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/libmlib_jai.so

rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/libclib_jiio.so

3.把之前删除的/webapps/geoserver/WEB-INF/lib目录下的 jai_codec-1.1.3.jar; jai_core-1.1.3.jar; jai_imageio-1.1.jar 三个文件还原

cp -r /tmp/geoserver/*.jar /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib/

java imageio处理图像_Linux geoserver调优之Java图像处理优化(原生JAI和ImageIO和java默认库相互转换)...相关推荐

  1. java项目processes设置,Jvm调优和SpringBoot项目优化的详细教程

    参考文章 1.先看一下未设置JVM参数的情况,默认情况下,没有设置任何Jvm参数. 2.设置Jvm参数. 配置参数: 关于这些设置的JVM参数是什么意思,参考Jvm调优. -XX:MetaspaceS ...

  2. Java项目运维与监控调优

    引言 编写目的 目前线上问题是以java的为主,但是配置方式不是特别的统一,把这些进行统一化后有利于问题的定位和解决一些不稳定因素. 阅读对象 开发人员.运维人员. JAVA项目线上配置 启动java ...

  3. 《Java性能调优实战》笔记(一)Java编程性能调优、多线程性能优化

    文章目录 一.Java性能调优概述 1.1 性能调优标准 1.2 制定性能调优策略 二.Java编程性能调优 2.1 字符串 2.2 正则表达式 2.3 ArrayList和LinkedList的选择 ...

  4. Java性能压测工具及其调优

    Java性能压测工具及其调优 JMeter工具 使用 JVisualVM使用 使用 简介 在日常的开发中,Java的性能显得尤为重要,一个程序的好坏主要就是性能来决定的. JMeter工具 JMete ...

  5. Tomcat 调优及 JVM 参数优化

    Tomcat 本身与 JVM 优化 Tomcat:调整Server.xml JVM:bat启动服务方式的话修改catalina.bat 服务式启动的话参考:http://www.cnblogs.com ...

  6. R语言使用caret包对GBM模型自定义参数调优:自定义参数优化网格

    R语言使用caret包对GBM模型自定义参数调优:自定义参数优化网格 目录 R语言使用caret包对GBM模型自定义参数调优:自定义优化参数网格

  7. java基础值java 运行参数,及jvm调优

    java启动参数共分为三类 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且 ...

  8. Java 14 Hotspot 虚拟机垃圾回收调优指南!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 大鹏123 来源 | www.cnblogs. ...

  9. java jvm性能调优_java jvm性能优化

    摘要: 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bit 还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般 ...

最新文章

  1. 在网页中动态的生成一个gif图片
  2. 串口同步异步c语言程序,同步串口spi的c语言编程
  3. C++中extern “C”含义深层探索(zz)
  4. Django之MVC框架与MTV框架详解
  5. java 访问 网络swf_JAVA访问网络资源
  6. 简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响
  7. python3 Async/Await入门指南
  8. 用python验证猜想之类的例子_python练手好例子:验证哥德巴赫猜想
  9. Taro+react开发(11)--不能加分号
  10. 快进键启动,一文带你了解云原生时代容器安全
  11. JavaScript数据结构与算法(1)(数组、栈、队列、链表)(ES6)
  12. 大道至简第三章。感受。
  13. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
  14. android 输出流对象,Android-IO流之对象操作流ObjectInputStream/ObjectOutputStream
  15. warning: refname ‘HEAD‘ is ambiguous解决方法
  16. HDU 4675 GCD of Sequence(莫比乌斯反演 + 打表注意事项)题解
  17. mysql与linux版本区别_MySQL各版本的区别
  18. Python 开发音乐下载器实践
  19. Pandas的时间序列Period,period_range---详解(29)
  20. JAVA实现PDF无损转WORD

热门文章

  1. 清华大学孙茂松:透过喧嚣,坐看云起,NLP 的迷思与感悟
  2. 行至水穷处,坐看云起时
  3. 套用模板,又申请了两张软著证书
  4. 小爱音箱怎么装app_小爱音箱app下载-小爱音箱手机版 v2.2.2 - 安下载
  5. 25页国有企业数字化转型ppt,解决4个典型痛点场景,实现提质增效
  6. (最好的BEST)脑电生理记录和刺激工具箱
  7. 全球计算机科学硕士申请,2020年爱丁堡大学计算机科学专业硕士申请条件-学费-世界排名...
  8. 类人猿按键精灵PC内存教程(新)
  9. 软件工程直招士官生_如何看待今年首次面向普通高校毕业生直招士官?是毕业生的一个好选择吗?...
  10. 解决:[DCC Fatal Error] **.dpk : E2202 Required package '***' not found