GaGa's Blog

One GaGa, One World !

容器检查失败是否会自动重启

HEALTHCHECK 是用于标记容器的状态为 healthy 或 unhealthy,不会自动触发容器重启

1
2
3
4
5
6
7
8
9
...
healthcheck:
test: curl -f http://localhost:8080/health || exit 1
interval: 30s
timeout: 5s
retries: 3
start_period: 10s

restart: on-failure

Mac(或类 Unix 系统)上批量把 GBK 编码的 .txt 文件转换成 UTF-8.


1.alias组合命令(当前使用)

# 对当前目录下*.txt文件批量格式化转换
alias winfmt='find *.txt -exec sh -c "iconv -f gbk -t utf-8 {} > {}.txt" \;'
Read more »

kubectl logs--previous 参数是一个很实用的选项,主要用于排查容器异常重启(CrashLoopBackOff、OOMKilled 等)时的日志

具体含义:

  • 默认情况 (kubectl logs pod -c container)
    获取的是容器 当前正在运行实例 的日志。
    如果容器已经崩溃并被 Kubernetes 重启,新实例启动后,旧日志就不会显示。

  • 加上 --previous 参数
    会让 kubectl logs 去获取 上一个已终止容器实例 的日志。
    这对于定位容器为什么崩溃非常关键。


Read more »

1. JVM 内存 != 堆内存

-Xmx 只控制 Java 堆(Heap) 的上限,而 JVM 进程还需要其他内存区域:

  • 堆 (Heap): 由 -Xms/-Xmx 控制
  • 非堆 (Non-Heap): 元空间 (Metaspace)、代码缓存 (CodeCache)、JIT 编译出来的机器码
  • 直接内存 (Direct Memory): ByteBuffer.allocateDirect(),或者 Netty、RPC 框架常用
  • 线程栈 (Thread Stack): 每个线程 -Xss,默认一般 1M,一个容器里如果有几千线程就很夸张了
  • GC 开销 / JIT 开销: GC 线程运行需要额外内存,JIT 编译时也会占内存
  • JNI / 本地库分配: 依赖 C/C++ 库时的 malloc 内存

👉 所以,JVM 进程的实际 RSS = Heap + Non-Heap + Direct + Thread + Native,远大于 -Xmx

Read more »

1. 基础理解

  • 管道符 |
    把前一个命令的输出结果传递给后一个命令作为输入(stdin)。

  • xargs
    把 stdin 中的内容转换成命令行参数,再执行指定命令。适合“把一堆输入拼接成参数列表”。

    1
    2
    echo "a b c" | xargs echo
    # 输出:a b c (作为 echo 的参数)
  • sed
    流编辑器,逐行读取 stdin,对文本进行替换、删除、插入等操作。适合“在文本流中直接修改”。

    1
    2
    echo "abc" | sed 's/a/A/'
    # 输出:Abc

2. 使用场景对比

Read more »

传统架构和云服务架构是两种截然不同的 IT 架构模式,各自有不同的优势和挑战。

1. 部署与维护

  • 1.1传统架构

    • 部署:通常部署在本地数据中心,企业需要采购、配置和维护硬件设备(服务器、存储、网络设备等)。
    • 维护:需要专门的运维团队来保证硬件、网络、操作系统、应用层等的正常运行,并且定期进行硬件升级和更换。
    • 成本:初期投资大,需要采购硬件设备、建设数据中心,且硬件设备需要长期维护和更换。
  • 1.2云服务架构

按需使用/serverless

Read more »

1. 临时修改主机名

打开 终端,输入以下命令来修改当前会话中的主机名:

1
sudo scutil --set HostName 新主机名

这会立即更新主机名,但只会影响当前会话。

Read more »

MacBook 上鼠标滚轮滚动方向和 Windows/Linux 习惯相反的问题。苹果默认叫 **「自然滚动」(Natural Scrolling)**,上下滚动方向会和触摸屏类似,但很多人接外接鼠标时会觉得不习惯。
当滚动鼠标滚轮的时候,滚轮朝下,页面也跟着向下,滚轮向上,页面也跟着向上。


系统设置里关闭自然滚动

  1. 点击左上角  → 系统设置(macOS Ventura 以后叫「系统设置」,Monterey 以前叫「系统偏好设置」)。
  2. 进入 鼠标(Mouse)菜单。
  3. 关闭 **「自然滚动方向」(Scroll direction: Natural)**。
Read more »
0%