Linux-进程相关与系统工具
进程
查看进程 ps
``` ps [options] ``` 支持的命令格式 - unix格式:-h -e - BSD格式:a,x,u - GNU长格式:--help 选项 ``` [root@s22 ~]#ps PID TTY TIME CMD 28019 pts/4 00:00:00 ps 83674 pts/4 00:00:00 bash pid 终端 当前命令占用cpu的时间 命令 a 所有的终端 x 包括不连接终端的终端 u 显示进程详细信息 f 显示进程树 k 指定排序方式 ,默认是递增,如果想递减,则需要在排序的字段上加上- o 指定显示的属性,不能跟u同时使用 L 获取支持的选项, -L 显示线程 -e 相当于 ax -f 显示详细信息,相当于u -F 显示更详细信息 -H 显示树状结构 -U username 获取指定的用户信息 常用选项: aux -ef -eFH ``` ps输出属性 VSZ 虚拟内存(程序认为可以获取到的) RSS 实际内存 psr cpu编号 STAT 状态 %cpu cpu的占用率 %mem 内存的占用率
根据名称来查询进程
``` pidof name [root@s22 ~]#pidof python 1169 825 ```
系统工具
uptime
``` [root@s22 ~]#uptime 09:17:40 up 1 day, 22:19, 5 users, load average: 2.14, 1.59, 0.84 当前时间 当前服务器运行时长 当前的在线用户数 cpu的负载 1分钟 5分钟 15分钟 cpu平均负载:在特定时间之内cpu运行的平均进程数,不超过cpu核心数的2倍认为为良好 ```
top
首部信息 - uptime信息 l 显示与隐藏 - tasks :进程总数,运行,睡眠数,停止数,僵尸进程 t - cpu信息: %Cpu(s): 0.3 us, 4.6 sy, 0.0 ni, 95.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 用户空间 系统空间 nice值 空闲 等待 硬中断 软中断 虚拟机偷走时间 - 内存信息 m - cpu分别显示 1(数字) 排序: 模式是cpu的占用率 P M:内存占用率 T: cpu的占用时间 退出:q 修改刷新频率:s,默认是3秒 杀死进程:k,默认是第一个 W 保存文件 选项: -d 刷新时间 -b 显示所有的信息 -n # 指定刷新#次后退
htop
- epel源
性能分析
free
``` -b 字节 -k kb -m mb -g gb -h 人类易读方式 -c # 刷新次数 ```
vmstat
``` vmstat [options] [delay [count]] [root@s22 ~]#vmstat 1 3 每秒刷新一次,刷新3次 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 37028 162708 0 808588 0 0 8 6 34 34 0 2 97 0 0 0 0 37028 162560 0 808588 0 0 0 0 4535 6893 1 5 95 0 0 0 0 37028 162544 0 808588 0 0 0 0 4463 6772 0 5 95 0 0 procs: r:正在运行的进程个数 b:阻塞队列的长度 memory: swap: 虚拟内容大小 free: 空闲物理内存的大小 buff:用于buff的大小 cache:用户cache的大小 swap: si:从磁盘交换到内存的数据速率(kb/s) so: 从内存交换到磁盘的数据速率(kb/s) io: bi: 从磁盘读取到系统的速率(kb/s) bo: 从系统写入到磁盘的速率(kb/s) system: in:中断频率 cs:进程之前切换的频率 cpu: us sy id wa st ```
iostat
查看磁盘读写速度
iostat 1 10
dstat 查看所有
``` -c cpu -d 硬盘 -m 内存 -n 网络 -p 进程 -r io请求 -s swap --top-cpu 显示占用cpu最多的进程 --top-io 显示占用io最多的进程 --top-mem 显示占用内存最多的进程 --tcp 显示tcp的信息 --udp 显示udp的信息 ```
iftop 显示网卡的流量
# 进程的管理工具 kill 向进程发送信号,实现对进程的管理,每个信号,对应不同的值,对应不同的含义,不区分大小写 查询可用信号:kill -l 常用信号: 1) sighub 不需要关闭程序,重新加载配置文件 2) sigint 终止进程,相当于ctrl+c 9) sigkill 强制杀死进程 15) sigterm 终止正在运行的进程 18)sigcont 继续运行 19)sigstop 后台休眠 按照pid: kill-n pid 按照名称:killall -n name 按照名称:pkill -n name # 作业管理 - 前台作业:一直占用终端的作业 - 后台作业:不占用当前的终端 让作业运行于后台: - ctrl+z 对于启动中 - command & 也会输出到终端 脱离终端: - nohup command &>/dev/null & - screen ``` -list 查看所有的screen窗口 -r 进入 ```
安全
防火墙
- 绿盟 - 深信服 - 启明星辰 - 飞塔 - 思科 - 华为 - 华三 ``` 4表5链 iptables -L 查看 防火墙策略 iptables -F 清空 防火墙 systemctl disable firewalld 开机并启动 systemctl stop firewalled ```
selinux
美国国家安全局 - 配置文件 /etc/selinux/config - SELINUX=disabled - setenforce 0 临时生效 - getenforce 查看selinux的状态 rhcea rhce rhca ccnp ccie ccia ocp 编译后的软件如果想删除,直接删除编译生成到目录就可以