Linux 内存管理

Swap swap可以避免应用程序因内存不足而崩溃,但它的性能远不及内存,适用于特殊场景(例如我的ecs只有2G内存😅)。实现方式可以基于交换文件,也可以基于磁盘分区,并且内核参数vm.swappiness可以定义swap与内存的使用占比,即优先使用内存还是swap。 创建一个交换文件作为Swap # 创建一个交换文件作为Swap dd if=/dev/zero of=/swapfile bs=1M count=4096 # 设置合适的权限 chmod 600 /swapfile # 将文件格式化为swap空间 mkswap /swapfile # 启用swap文件 swapon /swapfile # 持久化 echo '/swapfile none swap sw 0 0' >> /etc/fstab # 检查Swap是否已启用 free -h swapon --show 使用磁盘分区作为Swap 如果你想将整个磁盘分区作为swap,而不是使用交换文件,可以按照以下步骤进行: 创建swap分区(可以使用fdisk或parted工具): 使用fdisk创建一个新的Linux swap分区,通常选择类型为82(Linux swap)。 格式化该分区为swap格式: sudo mkswap /dev/sdXn # 替换 /dev/sdXn 为你刚刚创建的分区 启用swap分区: sudo swapon /dev/sdXn 确保分区在启动时自动启用: 修改/etc/fstab文件,添加如下内容: /dev/sdXn none swap sw 0 0 Swap相关内核参数 vm.swappiness是Linux内核中用来控制交换的行为的参数。它的值决定了内存满时交换的优先级。值的范围是0到100,0表示内存几乎用完之前不会交换,100表示内存稍微紧张时就会使用swap。 查看当前swappiness值: cat /proc/sys/vm/swappiness 临时调整swappiness: ...

2025年7月17日 · 1 分钟 · 阿征

Linux 一次性任务与周期性任务

在Linux系统中,一次性任务和周期性任务是两种常见的任务调度方式,分别通过不同的工具实现。以下是详细说明: 一次性任务 用于执行一次后立即结束的任务,常用工具为 at 和 batch。 at 命令 功能:在指定时间运行一次任务。 安装(部分系统需手动安装): sudo apt-get install at # Debian/Ubuntu sudo yum install at # CentOS/RHEL 常用操作: 添加任务: echo "command" | at 14:30 2023-12-31 # 指定具体时间 echo "command" | at now + 2 hours # 2小时后执行 查看任务队列: atq 删除任务(通过任务ID): atrm <任务ID> batch 命令 功能:在系统负载较低时执行一次性任务(基于at实现)。 示例: echo "command" | batch 周期性任务 用于定期重复执行的任务,主要通过 cron 实现。 Cron 系统 核心组件: cron 守护进程:后台服务,负责执行计划任务。 crontab 命令:用户管理自己的任务配置文件。 配置文件位置: 用户级:/var/spool/cron/<用户名>(通过 crontab -e 编辑)。 系统级:/etc/crontab 或 /etc/cron.d/(需root权限)。 Crontab 语法 基本格式: ...

2025年7月17日 · 1 分钟 · 阿征

Linux 常用命令大全

保持会话 - tmux 1. 基本使用流程: # 启动新会话 tmux # 方法一 tmux new -s mysession # 方法二,mysession 是会话名字,可自由替换。 # 脱离会话(让任务继续在后台跑) Ctrl + b,然后松开,按 d # 恢复会话 tmux attach -t mysession # 查看所有会话 tmux ls # 关闭会话 直接在 tmux 中执行 exit,或者执行 tmux kill-session -t mysession 2. 窗口和分屏操作: # 新建窗口(像标签页): Ctrl + b,然后按 c # 切换窗口 Ctrl + b,然后按 n(下一个),Ctrl + b,然后按 p(上一个) # 垂直分屏 Ctrl + b 然后按 % # 水平分屏 Ctrl + b 然后按双引号 # 切换面板焦点 Ctrl + b 然后按方向键(←↑↓→) 后台运行 - nohup 网络管理类 快速扫描在线/离线IP - fping # 只显示在线的主机,-g后面跟要扫描的网段 fping -a -g 172.16.0.0/24 2>/dev/null # 只显示不在线的主机,-g后面跟要扫描的网段 fping -u -g 172.16.0.0/24 2>/dev/null ip 命令合集 ip -br a # 查看所有网卡的简略信息 网络瑞士军刀 - nc 监听TCP端口: ...

2025年7月14日 · 1 分钟 · 阿征