系统资源管理
一、系统资源
计算资源:CPU、内存
存储资源:硬盘
网络资源:IP、子网掩码、网关、DNS
二、查看存储资源
1、du
功能:查看文件/目录占用磁盘空间的使用情况
1)du -sh 目录 ————》查看目录占用磁盘空间的总和
例:du -sh /root
2)du -ah 目录————》查看目录下的文件和子目录的占用磁盘空间的详细信息
3)du -a --inodes 目录————》查看该目录下i节点的使用情况
例:du -a --inodes /root
2、df
功能:查看文件系统的使用率
1)df -h ————》查看文件系统的使用率
2)df -i ————》查看i节点的使用率
三、查看计算资源
1、free
功能:查看内存的使用情况
1)free -h
total used free shared buff/cache available
总计 使用 空闲 共享 缓存 可用空间
注:可用空间一般大于空闲空间
2、
查看内存的硬件信息
cat /proc/meminfo
查看cpu的硬件信息
cat /proc/cpuinfo
注:查看cpu是否支持虚拟化技术,cat /proc/cpuinfo | grep vmx (如果是AMD系统cpu,抓取svm)
3、sar
功能:查看cpu的使用率
语法:sar 时间 次数
例:sar 1 2 ————》1秒显示1次总计显示2次
对各列的解释:
四、查看进程的信息
1、概念
进程:应用程序以进程的身份在cpu和内存中运行的,最小的管理单位。
线程:进程衍生的线程,具体执行任务的,最小的执行单位。
systemd:linux系统最高的进程,所有进程之父。
孤儿进程:父进程已经退出,但是子进程未退出,所有的孤儿进程被systemd接管。
僵尸进程:进程已经处理完任务,但是不退出。手动杀掉僵尸进程(Z)
2、ps
1)ps aux
各列解释:
例:抓取占用cpu最高的前5个进程
ps aux | sed 1d | sort -k 3 -nr | head -n5
抓取占用内存最高的前5个进程
ps aux | sed 1d | sort -k 4 -nr | head -n5
抓取僵尸进程
ps aux | awk ‘$8 ~/Z/’
2)ps elf
ppid ————》父进程id号
NI————》优先级
3)pstree
功能:以树形显示进程信息
pstree -p ————》显示进程的pid号
五、综合查询
top
内置命令:
h————》帮助
s————》修改刷新时间
r————》修改优先级
k————》杀死进程
六、其他查询
1、lsof
功能:查看端口状态;查看设备被哪些进程占用
1)lsof 目标设备————》查看目标设备被那个进程占用
例:lsof /mnt/cdrom
2)lsof -i 协议:端口 ————》查看端口的状态
例:lsof -i tcp:22
LISTEN————》监听
ESTABLISHED ————》连接中
2、kill
功能:杀死进程
格式:kill -信号 pid
例:kill -9 2275
信号总计有64个信号;15为程序正常退出;9为程序强制退出。
3、进程前后台调度
1)将任务放在后台运行
任务 > /dev/null &
2)将后台运行的任务调回前台运行
fg 后台编号
3)将前台运行的任务放在后台暂停
ctrl +z
4)将后台暂停的任务继续运行
bg 后台编号
5)查看后台任务
jobs
6)杀死后台任务
kill -9 %编号
kill -9 pid
4、nohup
功能:当用户退出终端,命令仍然执行
例:编辑脚本
nohup bash test.sh &
bash ————》执行脚本
5、nice与renice
1)nice:进程启动直接赋予优先级
格式:nice -优先级 任务
例:nice -19 ping 127.0.0.1 > /dev/null & ————》赋予19的优先级
2)renice:重新赋予优先级
格式:renice 优先级 pid
例:renice -20 2469 ————》将2469进程的优先级更改为-20
注:优先级由高到低为-20——>19。在启动赋予优先级时,需要在优先级前加-,如优先级是负的则为–优先级。重新赋予优先级的时候,前面不加-,优先级是什么就是什么
6、开机运行脚本
1)编辑脚本 test1.sh
2)为脚本增加执行权限
chmod a+x /root/test1.sh
3)为/etc/rc.d/rc.local文件增加执行权限
chmod a+x /etc/rc.d/rc.local
4)将执行脚本的命令追加到/etc/rc.d/rc.local中
echo “ /root/test1.sh” >> /etc/rc.d/rc.local
注:执行脚本写绝对路径
5)重启测试
reboot
2)为脚本增加执行权限**
chmod a+x /root/test1.sh
3)为/etc/rc.d/rc.local文件增加执行权限
chmod a+x /etc/rc.d/rc.local
4)将执行脚本的命令追加到/etc/rc.d/rc.local中
echo “ /root/test1.sh” >> /etc/rc.d/rc.local
注:执行脚本写绝对路径
5)重启测试
reboot