进程管理
查看系统所有进程
ps aux/ps -le
查看进程树
pstree
-p -u查看系统健康状态
top
缓冲是加速硬盘写入,缓存是加速硬盘读取
写入日志top -b -n 1 >top.log
查看登陆用户
w
重启进程
kill -1 2235
(pid)
强制杀死进程 kill -9 2236
按照进程名杀死进程 killall -9 httpd
(进程名)
强制杀死从pts/1登陆的进程 pkill -9 -t pts/1
- 进程优先级PRI由PRI(原始值)+NI组成,PRI不可修改,NI范围是-20到19,普通用户可以改NI范围0-19,root用户可以改负值
nice命令可以给新进程修改优先级,renice可以改已有进程的优先级
工作管理
windows通过最小化窗口把程序放入后台,而linux通过命令来实现,和前台交互的命令即使放在后台也是暂停的
在要执行的命令后加
&
,把命令放入后台并执行(像redis什么的可以直接用命令启动时放后台运行)在执行完命令后按
ctrl+z
,把命令放入后台暂停查看后台运行的程序
jobs
-l(可以看到终端号)
+号是最后一个放入后台的进程,-号是倒数第二个放入后台的进程
恢复到后台运行bg %工作号
,恢复到前台运行fg %工作号
后台命令脱离登陆终端执行的方法
把需要后台执行的命令加入
/etc/rc.local
文件(一劳永逸,推荐)使用系统定时任务,让系统在指定的时间执行某个后台命令(不推荐)
使用
nohup
命令
系统资源管理
- vmstat[刷新延时 刷新次数]
vmstat 1 3
-
procs
:进程信息字段
r:等待运行的进程数,数量越大,系统越繁忙
b:不可被唤醒的进程数量,数量越大,系统越繁忙 -
memory
:内存信息字段
swpd:虚拟内存的使用情况,单位kb
free:空闲的内存容量
buff:缓冲的内存容量
cache:缓存的内存容量 - 缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的
-
swap
:交换分区的信息字段
si:每秒从交换区写到内存的大小
so:每秒写入交换区的内存大小
此两个数字越大,证明数据经常在磁盘和内存间交换,系统性能越差 -
io
:磁盘读写信息字段:
bi:从块设备读入数据的总量,单位是块
bo:写到块设备的数据的总量
此两个数字越大,代表系统的I/O越繁忙 -
system
:系统信息字段
in:每秒被中断的进程次数
cs:每秒进行的事件切换次数
此两个数越大,代表系统与接口设备的通信非常繁忙 -
cpu
:CPU信息字段:
us:非内核进程消耗CPU运算时间的百分比
sy:内核进程消耗CPU运算时间的百分比
id:空闲CPU的百分比
wa:等待I/O所消耗的CPU百分比
st:被虚拟机所盗用的CPU占比 - 开机时内核检测信息
dmesg
dmesg|grep CPU - 查看内存使用状态
free
[-b,-k,-m,-g]
swap分区一定要给空间 - 查看CPU信息
cat /proc/cpuinfo
-
uptime
显示系统的启动时间和平均负载,也就是top命令的第一行,w命令也可以看到这个数据 - 查看系统与内核相关信息
uname -a
- 判断当前系统的位数
file /bin/ls
- 查看发行版本
lsb_release -a
- 列出进程打开或使用的文件信息
lsof
[选项]
-c 字符串:
-u 用户名:
-p pid:
-