跳到主要内容

进程命令

ps 命令

ps 是 Process Status 缩写,显示单亲系统运行的进程。

进程状态:

  • D 不可中断

  • R 运行

  • S 中断

  • T 停止

  • Z 僵死

  • a 显示所有进程

  • -a 显示同一终端下的所有程序

  • -A 显示所有进程

  • c 显示进程的真实名称

  • -N 反向选择

  • -e 等于“-A ”

  • e 显示环境变量

  • f 显示程序间的关系

  • -H 显示树状结构

  • -l 显示目前登陆属于自己 pid

  • r 显示当前终端的进程

  • T 显示当前终端的所有程序

  • u 指定用户的所有进程

  • -axjf 列出类似树状程序显示

  • -au 显示较详细的资讯

  • -aux 显示所有包含其他使用者的行程

  • -C <命令> 列出指定命令的状况

  • --lines <行数> 每页显示的行数

  • --width <字符数> 每页显示的字符数

  • --help 显示帮助信息

  • --version 显示版本显示

经常配合 grep 查找特定进程:

ps -ef |grep ssh

watch

watch 帮助监测一个命令的结果,生的手动运行。命令参数:

  • -n / --interval 默认每 2 秒运行下一个程序
  • -d / --differences 高亮变化区域
  • -t / -no-title 关闭时间输出

at

自动执行。在一个时间执行一个指定的任务,需要开启 atd 进程( ps -ef | grep atd )参看。命令参数:

  • -m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
  • -I atq 的别名
  • -d atrm 的别名
  • -v 显示任务将被执行的时间
  • -c 打印任务的内容到标准输出
  • -V 显示版本信息
  • -q <列队> 使用指定的列队
  • -f <文件> 从指定文件读入任务而不是从标准输入读入
  • -t <时间参数>

crontab

定时任务

crontab -l # 查看当前用户
crontab -e # 编辑当前用户
crontab -r # 删除当前所有
sudo crontab -l -u Other_User_Name # 查看其他用户

查看大内存

使用当前的情况

使用 free -h 查看当前系统的内存使用。

free -h

查看大内存使用者

使用 ps aux --sort=-%mem | head -10 查看当前排前 10 的大内存使用进程。

ps aux --sort=-%mem | head -10

后者使用 top 然后按 M 键切换状态

top # 后按 M

监控趋势

每 2 秒刷新,观察 available 是否持续下降。

watch -n 2 'free -h'

开启 Swap (针对小内存设备)

  • 开启 Swap ,物理内存耗尽时,系统将不活跃内存页换出道 Swap ,避免强制杀死进程。
  • Swap 为管理员提供了“缓存窗口”:监控告警 ➞ 排查问题 ➞ 优化配置
  • 内核可将长期休眠的进程页(如后台服务)移至 Swap,释放物理内存给活跃进程
  • 休眠需将内存全量写入 Swap (需 Swap ≥ 物理内存)
# 1️⃣ 检查磁盘剩余空间
df -h / # 查看根分区剩余空间
# 同
# free -h | awk '/^Mem:/ {print "可用内存: " $7}'

# 2️⃣ 创建 2GB 交换文件(根据磁盘空间调整)
sudo fallocate -l 2G /swapfile
# 若上面报错,使用 sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

# 3️⃣ 严格设置权限(安全关键!)
sudo chmod 600 /swapfile

# 4️⃣ 格式化为 Swap
sudo mkswap /swapfile

# 5️⃣ 临时启用(重启后失效)
sudo swapon /swapfile

# 6️⃣ 检查是否是否生效
free -h # 查看 Swap 是否显示 2.0G
swapon --show # 确认状态为 “文件”

# 7️⃣ 永久生效(关键!避免重启后失效 )
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab