有点标题党的意思.
由于应用需要限制进程内存开销, 指定1G 通过-xmx xms java 限定内存后,
top 进程后发现占用2G 多,
同时 通过jstat –gccapacity 计算 发现java 本身占用内存只有1G左右.
修改
SelectChannelConnector connector = new
SelectChannelConnector();
connector.setUseDirectBuffers(false);
后 重启应用 内存控制在了1G
原因分析: DirectByteBuffers 是一种OffHeapStore(堆外)存储. 不受GC 影响,
使用DirectBuffers要注意: 他创建和销毁的代价比较大,
如果使用不当,不但不会带来性能提升, 还会造成性能下降以及内存管理的复杂程度
分享到:
相关推荐
<Configure id="Server" class="org.eclipse.jetty.server.Server"> ``` 这里指定了服务器实例的ID和类名。需要注意的是,如果其他配置文件也配置了相同的ID,则它们将共享同一个服务器实例;如果ID不同,则会创建...
相比Apache Tomcat或其他服务器,Jetty在轻量级特性、内存使用效率和响应速度上有优势。特别是对于嵌入式场景,Jetty的轻便性使其成为首选。然而,Tomcat在社区支持和插件丰富度上可能更强。 7. **Jetty的扩展性**...
- 启动Server:调用`Server.start()`启动Jetty服务,`Server.stop()`关闭服务。 4. **示例代码** ```java Server server = new Server(8080); // 创建服务器实例,端口为8080 ServletContextHandler context = ...
- 会话管理可以通过`org.eclipse.jetty.server.session`包实现,支持基于内存或数据库的会话存储。 7. **性能优化** - Jetty提供了线程池配置,可以通过调整线程数量来优化并发性能。 - 使用NIO或Epoll(针对...
- **Server和ThreadPool**:Server是Jetty的中心,ThreadPool用于管理线程。 4. **Jetty 服务配置文件** - **jetty.xml示例剖析**:展示了如何通过XML配置Jetty的各种设置。 - **Jetty XML Configuration语法**...
<Configure id="server" class="org.eclipse.jetty.server.Server"> <New id="httpConnector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="host">localhost <Set name="port">...
通过调用Jetty提供的API,可以在Java程序中启动和控制Jetty服务。 #### 十六、JEE服务器整合 **16.1 整合方案** Jetty可以与JEE服务器(如GlassFish)整合使用,以提供更丰富的企业级功能。 #### 十七、在开发...
通过阅读Jetty源码,你可以了解到Web服务器如何处理网络请求、管理线程、优化内存使用,以及如何扩展和定制功能。这将帮助你成为一个更优秀的Java Web开发者,并且能解决实际项目中遇到的复杂问题。
配置文件(如 `application.properties` 或 `application.yml`)中可以设置 `server.embedded.jetty.*` 属性来定制 Jetty 的行为,例如端口、线程池大小等。 使用 Spring Boot 内置的 Jetty 服务器,开发者可以轻松...
2. **轻量级**:Jetty以其小巧、高效而著称,相比于其他如Tomcat这样的服务器,Jetty的内存占用更少,启动更快,这对于开发环境和微服务架构来说尤其重要。 3. **JAR包发布**:Jetty的API是以一系列的JAR包形式发布...
Jetty8是Jetty服务器的一个版本,它提供了对Servlet 3.0规范的支持,具有高性能、低内存占用和易于集成的特点。由于其开源性质,Jetty在开发和生产环境中都得到了广泛应用,尤其适合小型到中型的Web项目。 二、系统...
1. **轻量级架构**:Jetty以其小巧的内存占用和高效的资源管理而著称,适合于嵌入式环境和微服务架构。 2. **servlet容器**:Jetty支持Servlet 3.1规范,允许开发者利用servlet技术来构建Web应用,同时提供对JSP...
- **etc**:包含了Jetty的配置文件,如server.xml,这些文件定义了服务器的行为和设置。 - **start.jar**:这是启动Jetty服务器的特殊JAR文件,通过执行`java -jar start.jar`命令可以启动服务器。 - **contexts*...
在构架方面,作者深入讲解了Jetty的架构,包括Connector(连接器)、Handler(处理器)、Server和ThreadPool(线程池)等核心组件,让读者了解Jetty如何处理网络请求和应用服务。 配置文件是Jetty管理的关键,书中...
与传统的独立服务器(如Apache Tomcat)相比,Jetty的嵌入式模式允许开发者在程序启动时直接创建和控制服务器实例,这在微服务、测试环境和小型应用中非常有用。 首先,让我们深入了解Jetty的基本概念: 1. **Jetty...
6. **性能优化**:Jetty的性能优化体现在很多方面,如零拷贝技术,减少内存复制,提高处理速度;另外,其响应头缓存和请求预读等机制也提高了处理效率。 在"lib"目录下,我们可以找到Jetty运行所需的库文件,这些...
- Server和ThreadPool:Server是Jetty的核心,而ThreadPool管理线程池,用于处理请求。 - 目录结构:包含服务器运行所需的各类配置文件和库。 7. **Jetty 服务配置文件** - jetty.xml:主要的配置文件,用于定义...
在Android平台上,Jetty需要进行一定的修改和优化,以克服内存和性能限制。 ### 2. Android i-jetty的特性 - **轻量级**: 专为Android优化,占用资源少,运行效率高。 - **兼容性**: 支持Android SDK的多个版本,...
此外,Jetty还提供了对JSP(JavaServer Pages)的支持,尽管它不包含在基础发行版中,但可以通过添加相应的模块来启用。 3. **模块化设计**:Jetty的模块化架构使得用户可以根据需要选择加载特定的功能模块,如...
在Android上,由于内存和性能限制,传统的Web服务器难以运行,而i-jetty则通过优化和裁剪,使得Jetty能在Android环境中流畅工作。 i-jetty开源项目的重点在于其在Android环境下的适配和优化。它主要实现了以下几点...