计算机进行资源调用的最小单位
[root@localhost ~]# ps //只能查看当前终端的进程 PID(进程ID) TTY(进程运行的终端名) TIME(消耗多少时间的CPU) CMD(进程名) 1835 pts/0 00:00:00 bash 5715 pts/0 00:00:00 ps
[root@localhost ~]# ps aux | less //查看所有终端,所有用户 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 125736 4300 ? Ss 17:05 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 17:05 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 17:05 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 17:05 0:00 [ksoftirqd/0] . .
RSS 物理内存集
真正消耗掉的物理内存值
VSZ 虚拟内存集
物理内存、共享内存、swap(可能,用就加上,不用不加)分区大小之和
共享内存
实现进程间的相互通信
查看内存容量
[root@hosta ~]# free -m total used free shared buff/cache available Mem: 3932 111 3686 11 133 3614 Swap: 2047 0 2047
进程状态
CPU按时间切片调度执行多个任务/进程
R
running:运行状态
S
可中断的睡眠状态
D
不可中断的睡眠状态
T
终止状态
Z
僵尸进程
当进程被销毁时,父进程没有办法回收内存资源
模拟僵尸进程
[root@hosta ~]# yum install httpd httpd-2.4.6-97.el7.centos.2.x86_64 [root@hosta ~]# systemctl start httpd # kill -19 父进程ID // 暂停进程的运行 # kill -18 父进程ID // 恢复父进程的运行 # kill 子进程ID // 不标准杀死进程 # kill -9 子进程ID // 标准杀死进程
查看进程树
[root@hosta ~]# pstree systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─agetty ├─auditd───{auditd} ├─crond ├─dbus-daemon ├─irqbalance
获取进程ID
[root@hosta ~]# pidof vim 9580 [root@hosta ~]# pgrep vim 9580
P
按照CPU使用率排序
M
按照内存使用率排序
[root@localhost ~]# top top - 22:52:43 up 5:47, 3 users, load average: 0.00, 0.01, 0.05 Tasks: 171 total, 2 running, 169 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 995748 total, 140228 free, 409340 used, 446180 buff/cache KiB Swap: 1048572 total, 1047796 free, 776 used. 423968 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8729 root 20 0 162120 2316 1596 R 0.7 0.2 0:00.17 top 1 root 20 0 125868 4388 2656 S 0.0 0.4 0:03.77 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
查看CPU平均负载
平均1分钟、5分钟、15分钟的负载值
[root@localhost /]# uptime 23:07:37 up 6:02, 3 users, load average: 0.00, 0.01, 0.05
[root@hosta ~]# top top - 15:00:51 up 3:59, 3 users, load average: 0.00, 0.01, 0.04
查看CPU使用率
# top %Cpu0 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
数字1 显示每个CPU的使用率
us
用户进程占用的CPU百分比
sy
系统进程占用的CPU百分比
id
空闲CPU 所占用的百分比
[root@hosta ~]# mpstat 1 3 Linux 3.10.0-957.el7.x86_64 (hosta) 01/04/2022 _x86_64_ (4 CPU) 03:38:14 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 03:38:15 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 03:38:16 PM all 0.00 0.00 0.25 0.00 0.00 0.00 0.00 0.00 0.00 99.75 03:38:17 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: all 0.00 0.00 0.08 0.00 0.00 0.00 0.00 0.00 0.00 99.92
# top KiB Mem : 4026384 total, 3704136 free, 126636 used, 195612 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 3659052 avail Mem
[root@hosta ~]# free -m total used free shared buff/cache available Mem: 3932 123 3617 11 191 3573 Swap: 2047 0 2047
动态查看内存使用率
[root@hosta ~]# vmstat 1 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 0 144936 164 3759652 0 0 2 245 11 15 0 0 100 0 0 0 0 0 144904 164 3759652 0 0 0 0 52 61 0 0 100 0 0 0 0 0 144912 164 3759652 0 0 0 0 51 69 0 0 100 0 0 0 0 0 144912 164 3759652 0 0 0 0 56 60 0 0 100 0 0 1 0 0 144912 164 3759652 0 0 0 0 32 47 0 0 100 0 0
查看磁盘容量
[root@hosta ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 18G 1.9G 16G 11% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 2.0G 12M 2.0G 1% /run
硬盘IO
[root@hosta ~]# iostat 1 3 Linux 3.10.0-957.el7.x86_64 (hosta) 01/04/2022 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.01 0.00 0.16 0.03 0.00 99.80 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 2.52 9.58 1046.38 150181 16402101 scd0 0.00 0.07 0.00 1028 0 dm-0 2.49 8.79 1046.25 137726 16400053 dm-1 0.01 0.16 0.00 2460 0
kB_read/s
每秒读取的字节数
KB_wrtn/s
每秒写入的字节数
查看网卡带宽
[root@hosta ~]# ethtool ens33 | grep -i "speed" Speed: 1000Mb/s
查看网卡IO
[root@hosta ~]# sar -n DEV Linux 3.10.0-957.el7.x86_64 (hosta) 01/04/2022 _x86_64_ (4 CPU) 09:04:16 AM LINUX RESTART 09:10:01 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 09:20:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:20:01 AM ens33 0.85 0.57 0.07 0.07 0.00 0.00 0.00 09:30:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:30:01 AM ens33 1.80 1.08 0.15 0.13 0.00 0.00 0.00 09:40:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:40:01 AM ens33 0.94 0.58 0.08 0.09 0.00 0.00 0.00 09:50:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:50:01 AM ens33 0.24 0.19 0.02 0.02 0.00 0.00 0.00
rxpck/s
每秒接收的数据包个数
txpck/s
每秒发送的数据包个数
rxkB/s
每秒接收的数据量,单位KB
txkB/s
每秒发送的数据量,单位KB
//查看所有进程 [root@localhost ~]# ps aux #不区分终端,显示所有用户的所有进程 [root@localhost ~]# ps -efl #详细显示所有进程的UID,PPID,C与STIME栏位 //通过进程树来查看进程的“父子关系” [root@localhost ~]# pstree //通过top命令动态查看进程 [root@localhost ~]# top
//通过进程名字来获取进程PID [root@localhost ~]# pidof httpd 8554 8553 8552 8551 8550 8549 //使用grep过滤指定进程 [root@localhost ~]# ps -ef | grep "httpd"
//netstat有很多选项,这里只列出常用的 [root@localhost ~]# netstat -antlp
//查看CPU [root@localhost ~]# mpstat 1 [root@localhost ~]# uptime [root@localhost ~]# top //查看内存 [root@localhost ~]# vmstat 1 [root@localhost ~]# top [root@localhost ~]# free -m //查看硬盘 [root@localhost ~]# iostat 1 [root@localhost ~]# df -Th //查看网卡,查看网卡带宽 [root@localhost ~]# sar -n DEV [root@localhost ~]# ethtool ens33 | grep -i "speed"
控制进程的运行方式
//kill [-信号名称\编号] 进程PID [root@localhost ~]# kill -l //-l选项查看所有信号 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP .....................略........................... //最常用的有三个, 15) SIGTERM //正常结束进程 ,可省略不写,默认就是15 9) SIGKILL //强制结束进程 1) SIGHUP //让这个进程重新读取他的配置文件,并不会重启,只是让配置生效 18) SIGCONT //继续进程 19) SIGSTOP //停止进程
在后台执行任务
[root@localhost ~]# nohup dd if=/dev/zero of=/opt/a.txt ps=10M count=200 & [1] 2938 [root@localhost ~]# nohup: 忽略输入并把输出追加到"nohup.out"
将正在执行的任务放入后台
ctrl +z
查看后台任务
[root@localhost ~]# jobs -l
将任务调回前台
fg [任务编号]
在后台继续运行任务
bg [任务编号]
防火墙用于过滤不安全的网络连接,SELinux用于限制应用程序访问系统资源的权限。两者都是Linux中的重要安全保障机制。
所以要在配置好虚拟机后关闭防火墙和SELinux
Firewall
[root@localhost ~]# systemctl stop firewall.service Failed to stop firewall.service: Unit firewall.service not loaded. [root@localhost ~]# systemctl disable firewall.service Failed to execute operation: No such file or directory [root@localhost ~]# systemctl mask firewalld.service Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
SELinux
[root@localhost ~]# getenforce Disabled [root@localhost ~]# vim /etc/sysconfig/selinux