进程命令
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