小编Ruo*_*kki的帖子

为什么我的 jib 容器无法启动 pthread_create failed (EPERM)

我有一个 Springboot 应用程序,打包在 jib 版本 3.2.0 的 docker 镜像中。

当我尝试在我的 Linux 服务器上启动时,我立即出现错误。

[0.012s][warning][os,thread] Failed to start thread - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# //hs_err_pid1.log

Run Code Online (Sandbox Code Playgroud)

我不知道如何查看 /hs_err_pid1.log 因为服务器立即崩溃并且我无法使用 exec 进入。

经过一些测试,我发现容器在特权模式下工作。但出于安全原因我想避免使用该解决方案。

我尝试释放一些内存(4g),但容器仍然崩溃。

我已经使用 docker run 和 docker-compose 运行了我的容器,并且得到了相同的结果

我还尝试在不同的服务器(具有相似的容量)上运行它,并且图像工作正常。

有关信息我在docker版本20.10.4上由jib打包的图像使用jdk17 temurin …

docker spring-boot jib

5
推荐指数
1
解决办法
6283
查看次数

如何告诉 lombok 生成的 getter 是 @Override

我在我的项目中使用 lombok 并且有一个界面:

public interface MyInterface{

    Object getA()
}
Run Code Online (Sandbox Code Playgroud)

还有一个班级

@Getter
public class MyClass implements MyInterface{

      private Object a;

      private Object b

}
Run Code Online (Sandbox Code Playgroud)

我检查了生成的类,类中生成的方法不是@Override

我想知道如何添加这个注释?失踪的后果是什么@Override

这可能是另一个问题,但该代码由声纳库分析,声纳说私有字段 a 从未使用过。

我已经看过有关sonarqube + lombok = 误报的主题

但就我而言, b 不会产生误报。所以我不认为这有直接关系

您是否找到了无需重新实现 getA() 即可避免此问题的解决方案?

java overriding lombok sonarqube

4
推荐指数
1
解决办法
8764
查看次数

标签 统计

docker ×1

java ×1

jib ×1

lombok ×1

overriding ×1

sonarqube ×1

spring-boot ×1