Linux 系统管理总结

1,什么是进程?

进程是正在执行的一个程序或者命令,每一个进程都是一个运行实体,都有自己的地址空间,并占用一定的系统资源。

2,进程管理作用?

判断服务器健康状态

产看系统中所有的进程

杀死进程

==查看进程命令==

ps

命令行 说明
ps -aux 查看系统中所有进程,BSD操作系统格式
ps a 显示现行终端机下的所有程序,包括其他用户的程序
ps u 展示进程用户信息
ps x 显示所有程序,不以终端机来区分
ps -le 查看系统所有进程 linux标准命令格式
ps -A 显示所有程序

命令行结果说明

名词 说明
USER 该进程是由哪个用户产生的
PID 进程ID号
%CPU 该进程占用CPU百分比
%MEM 该进程占用物理内存百分比
VSZ 该进程占用虚拟内存大小 KB
RSS 该进程占用实际物理内存大小 KB
TTY 该进程是在哪个终端运行的,其中tty1-tty7 代表本地终端,tty1-tty6 本地字符界面终端,tty7 图形终端,pts/0-256 虚拟终端即最多支持256个远程登录
STAT 当前进程状态,S:睡眠中止 s:包含子进程 R:运行 T:停止 Z:僵死
TIME 进程执行起到现在总的CPU占用时间
START 进程启动时间
COMMAND 产生此进程的命令名

top

命令行 说明
top 【-d 秒数】 指定top命令每个几秒更新一次,默认是3秒
P shift+P 按照CPU排序
:M shift+M 按照内存排序
:N shift+N 按照PID排序
q: 退出top
?或者h: 显示帮助

top 命令结果

第一行信息为任务信息队列

load avaerage:0.00 0.00 0.00 分别表示 系统在之前1分钟,5分钟,15分钟的平均负载,如果是单核则 一般认为小于1时,负载较小,大于1时负载较大

第二行为 CPU 信息

%Cpu(s):

0.1us:用户模式占用的CPU百分比

0.1sy:系统模式占用的CPU百分比

0.1ni:改变过优先级的用户进程占用的CPU百分比

1.1id:空闲CPU的CPU百分比

0.1wa:等待输入/输出的进程的占用CPU百分比

0.1hi:硬中断请求服务占用的CPU百分比

0.1si:软中断请求服务占用的CPU百分比

0.1st:虚拟时间百分比,即当有虚拟机时候,虚拟CPU等待
实际CPU的时间百分比

第三行为 物理内存 信息

第四行为 交换分区(swap)信息

pstree

查看进程树,即用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以清楚的看出来是谁创建了谁

命令行 说明
pstree -A 各进程之间的连接以ASCII 码字符来连接
pstree -U 各进程之间的连接以utf8字符来连接
pstree -p 同时列出各个进程pid
pstree -u 同时列出每个进程所属用户

==终止进程==

kill

命令行 说明
kill pid 终止进程
kill -9 pid 强制终止
kill -l pid 重启进程
killall 进程名 终止一类进程 后面跟进程名
pkill -t 终端号 剔除用户
w 查看终端用户

==工作管理==

jobs -l

显示后台工作的ID

+号代表最近一个放入后台的工作,也是工作恢复时候,默认恢复的工作

-号 代表倒数第二个放入后台的工作

Ctr+Z 代表 将工作放入后台 暂停状态

& 代表 将工作放入后台运行

命令行 说明
fg % 工作号 将后台任务恢复到前台
bg % 工作号 将前台任务恢复到后台

后台恢复的执行命令,是不能和前台有交互的,否则不能恢复到后台执行


==系统资源查看==

free查看内存使用状态

命令行 说明
free [-b/-k/-m/-g] 以字节/KB/MB/GB为单位展示
cat /proc/cpuinfo 查看CPU信
dmesg | grep cpu 查看CPU信
uptime 显示系统启动时间和平均负载,也就是top命令第一行,w命令也可以看到
uname [-a|-r|-s] 查看系统与内核信息,-a查看所有 -r 内核版本 -s 内核名称
file /bin/ls 查看系统的位数
lsb_release -a 查看系统发型版本
lsof [-c 字符串|-u 用户名|-p 进程ID] 列出进程打开或者使用的文件 -c :列出文件开头的进程文件 -u:列出某个用户进程文件 -p:列出某个进程ID的文件

缓存和缓冲区别?

缓存(cache)是用来加速数据从硬盘中读取的,缓冲(buffer)是用来加速数据写入硬盘的

==系统定时任务==

crond 服务管理与访问控制

crond 一般是默认启动的

service crond restart

chkconfig crond on

crontab 用户的crontab设置

命令行 说明
crontab -e 编辑crontab定时任务
crontab -l 查询contab定时任务
crontab -r 删除当前用户的所有的crontab任务
* * * * * php /mnt/d/CODE/MY/EighthWorld/artisan schedule:run >> /home/fantasy/error.log 2>&1

第一个*:一个小时的第几分钟 0-59
第二个*:一天中的第几小时 0-23
第三个*:一个月中的第几天   1-31
第四个*:一年中的第几月   1-12
第五个*:一周的星期几  0-7(0和7都代表周日)
符号 说明
* 代表任何时间,比如一个 * 代表一个小时中的每分钟都执行一次的意思
代表不连续的时间,比如 0 8,12,16 * 代表每天对的8点0分,12点0分,16点0分执行
- 代表连续的时间范围,比如 0 5 1-6,代表周一到周六每天5点0分执行
*/n 代表每隔多久执行一次,比如 /10 * ,代表每隔10分钟执行一次
本作品采用《CC 协议》,转载必须注明作者和本文链接
UKNOW
讨论数量: 2

这个没转义

file

4年前 评论
UKNOW (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!