小编Pat*_*ite的帖子

Docker(LXC)容器中的JVM内存分配

我们已经将JVM(Scala)应用程序(Java 1.7)停靠,并且正在尝试决定如何分配内存.我们在docker容器中运行了一个应用程序.如果docker容器分配了4GB的RAM,我们是否应该为JVM分配4GB(或者可能只是为了安全)?

据我了解,除了从入口点调用的内容之外,docker容器中没有其他进程在运行,因此我们不需要担心非JVM内存使用 - 是真的还是过度简化?我们应该问其他问题吗?

编辑我们正在使用Mesos/Marathon来部署docker图像 - 我相信它确实设置了cgroup对内存的限制(至少,它给人的印象是它确实如此)但我肯定是错的.

java jvm docker

7
推荐指数
1
解决办法
2588
查看次数

未解析 Google Cloud Run 中的结构化日志(使用 Winston 进行日志记录)

我正在尝试以 Google Cloud 正确提取日志级别的方式格式化我的日志。这是在 Cloud Run 上运行的,带有打字稿。Cloud Run 正在从容器输出中获取日志。

如果我执行以下操作,google 会正确解析日志行:

console.log(JSON.stringify({
   severity: 'ERROR',
   message: 'This is testing a structured log error for GCP'
}));
Run Code Online (Sandbox Code Playgroud)

日志输出如下所示: 日志级别错误

我尝试了多种不同的方式来使用 winston 进行格式化,结果如下:

useFormat = format.combine(
      format((info, opts) => {
        info['severity'] = info.level;
        delete info.level;
        return info;
      })(),
      format.json());


    this.winston = winston.createLogger({
      level: logLevel,
      format: useFormat,
      transports: [new winston.transports.Console()]
    });
Run Code Online (Sandbox Code Playgroud)

看起来它会工作(它正确输出 json 行),我在 GCP 日志中得到了这个: 在此处输入图片说明

任何帮助表示赞赏。

node.js winston typescript google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
869
查看次数