我们有一个 Java 应用程序托管在 CentOS 机器上运行的(jetty 服务器)上。每秒,应用程序将处理数千个 Websocket 连接,这些连接将再次打开和关闭。该应用程序还进行 NIO 调用来获取一些数据并通过 websocket 发送数据。
我们为应用程序提供的 XMS 和 XMS 值为 6GB。运行应用程序的计算机具有 16GB RAM。
应用程序的堆大小是恒定的,但交换空间在部署后 6-7 天内会增加到 4GB。
重新启动应用程序后,交换变得正常。
我们是否可以设置任何参数来限制应用程序对交换空间的使用量。
这个问题是否与大量NIO操作有关?
在我们的例子中,堆大小是恒定的,但本机内存和交换空间正在增加。
这可能是内存泄漏还是由于描述的错误造成的这里?