Levon's Blog

微信: L6241425

1. 常见的GC算法

GC 是一种自动管理内存的技术,用来回收(释放) heap 中不再使用的对象。GC 过程中涉及到两个阶段:

  1. 区分活对象(live object)与垃圾对象(garbage)
  2. 回收垃圾对象的内存,使得程序可以重复使用这些内存
阅读全文 »

1. 基础术语

1.1 并发和并行

  • 并发: 一个cpu上能同时执行多项任务,在很短时间内,cpu来回切换任务执行(在某段很短时间内执行程序a,然后又迅速得切换到程序b去执行),有时间上的重叠(宏观上是同时的,微观仍是顺序执行),这样看起来多个任务像是同时执行,这就是并发。

  • 并行: 当系统有多个CPU时,每个CPU同一时刻都运行任务,互不抢占自己所在的CPU资源,同时进行,称为并行。

img
阅读全文 »

1. alacritty

1.1 介绍

iterm2 无疑是所有平台里功能最强的终端,遗憾的是目前 GPU 加速并不完美。

alacritty是目前性能最强的终端之一. 它使用GPU进行渲染,可以做到其他启动器无法实现的性能优化。

尤其 tmux配合alacritty, 使用下来比 iTerm2 更快更顺手更省电。

阅读全文 »

1. 进程和线程

1.1 进程

当我们运行可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个行中的程序,就被称为进程。

进程的基本状态

在一个进程的活动期间至少具备三种基本状态,即运行状态、就绪状态、阻塞状态。

  • 运行状态(Running):该时刻进程占用 CPU;
  • 就绪状态(Ready):可运行,由于其他进程处于运行状态而暂时停止运行;
  • 阻塞状态(Blocked):该进程正在等待某一事件发生(如等待输入/输出操作的完成)而暂时停止运行,这时,即使给它CPU控制权,它也无法运行;
进程的三种基本状态
阅读全文 »

1. Iptables 的前端工具

iptables 直接操作 netfilter,但很多发行版提供了更高层的前端。它们之间不是替代关系,而是不同层级的操作入口,最终都作用于内核的 netfilter。

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#3B82F6', 'primaryTextColor': '#1E3A5F', 'primaryBorderColor': '#2563EB', 'lineColor': '#60A5FA', 'secondaryColor': '#10B981', 'tertiaryColor': '#F59E0B'}}}%%
flowchart LR
    A["用户"] --> B["firewalld"]
    A --> C["ufw"]
    A --> D["iptables"]
    A --> E["nftables"]
    B --> F["netfilter(内核)"]
    C --> F
    D --> F
    E --> F

    classDef user fill:#F59E0B,stroke:#D97706,color:#fff
    classDef frontend fill:#3B82F6,stroke:#2563EB,color:#fff
    classDef kernel fill:#10B981,stroke:#059669,color:#fff

    class A user
    class B,C,D,E frontend
    class F kernel
阅读全文 »

1. Conntrack 连接跟踪:iptables 的 “ 记忆力 “

连接跟踪(Connection Tracking,简称 conntrack)是 netfilter 最核心的子系统之一,也是理解有状态防火墙的关键。

阅读全文 »

iptables 规则的增删改查、匹配条件组合、黑白名单策略和规则持久化,附 Web 服务器防火墙完整配置脚本。

阅读全文 »

如果你的工作涉及 Linux 服务器管理、容器化部署、网络排障中的任何一项,iptables 都是绑定在底层的核心知识。

场景举例涉及的核心能力
服务器安全加固只允许 SSH + HTTP 访问,拒绝其他一切流量filter 表、INPUT 链
内网共享上网多台内网机器通过一台有公网 IP 的网关上网nat 表、SNAT/MASQUERADE
端口转发外网访问网关 8080 → 内网 Web 服务器 80nat 表、DNAT
限流防攻击限制每秒最多 10 个新连接,防止 SYN Floodlimit/connlimit 扩展模块
容器网络Docker -p 8080:80 端口映射,底层就是 DNAT理解 Docker 自动生成的规则
K8s Servicekube-proxy iptables 模式下,ClusterIP → Pod 路由全靠 iptables理解 K8s 网络链路
策略路由不同来源的流量走不同出口线路mangle 表、MARK
阅读全文 »
0%