System Administration Troubleshooting
Running out of Memory
RAM: 正在用的 data, 比如 2+2=4, 这个2+2 的过程就在 RAM 里面存着 SWAP: 100G 的硬盘 delicate 4G 出来给 SWAP, 在 Memory 不够的时候可以拿来用,作用跟 stand by 的备用一样 Cache: cache 和 CPU 联动使用. 存储的是经常使用的数据 top The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of processes
[root@localhost ~]
top - 18:07:51 up 49 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 115 total, 2 running, 113 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
MiB Mem : 809.3 total, 409.1 free, 173.4 used, 226.8 buff/cache
MiB Swap: 820.0 total, 820.0 free, 0.0 used. 511.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1678 root 20 0 65416 4764 3984 R 0.3 0.6 0:00.18 top
1 root 20 0 186296 14160 9576 S 0.0 1.7 0:02.66 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0
Zombie process: Parent Process 已经停止了,但是 child process 没有停
top 可以查到 PID ps -ef | grep pid - 然后
kill 或者systemctl - 添加内存
Add / Extend Swap Space
- SWAP 不够的时候,可以分出其他的 disk 的大小匀给 SWAP
dd if=/dev/zero of=/newswap bs=1M count=1024
[root@localhost ~]
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.44541 s, 312 MB/s
- 在 / 中执行
ls -ltr ,多了一个 newswap. chmod 使得这个文件只能 rw by its own - 现在这个文件只是个 space, 要让他添加到 SWAP上
mkswap /newswap - 但是查询
free -m 时无变化,这是因为还没有 enable newswap swapon /newswap 之后再查询
[root@localhost /]
total used free shared buff/cache available
Mem: 809 170 51 10 587 514
Swap: 1843 0 1843
- 同时需要同步修改 /etc/fstab
/newswap swap swap defaults 0 0
Delete Swap space
[root@localhost /]
[root@localhost /]
rm: remove regular file '/newswap'? yes
[root@localhost /]
total used free shared buff/cache available
Mem: 809 170 463 10 175 515
Swap: 819 0 819
总结
- 分出可用区
dd if=/dev/zero of=filename bs=xxx count=xxx chmod mkswap 使这个文件成为 swap 类型- 挂载
swapon - 卸载是
swapoff
System Reboot or Process Restart
A kernel is like a main program which actually communicates between the shell and the hardware what to do with the commands. For example if you type “Apple”, Kernel takes it and print it on the screen.
- System Reboot 和 Process Restart 这种情况出现的可能性
- 如何做 Troubleshooting Steps
- System Reboot 和 Process Restart 这种情况出现的可能性
- 如何做 Troubleshooting Steps
- 几个重要命令
top uptime 可以看出来什么时候 reboot 的dmesg | grep -i error 可以查询报错的记录 (kernel panic) dmesg用于显示内核环形缓冲区(kernel-ring-buffer)里面的内容。在进行系统引导时,内核会将有关硬件以及驱动的信息,写到这个缓冲区。当我们在诊断系统问题的时候,这里面的内容是很有用的。内核缓冲区的内容会同时写在/var/log/dmesg文件里。jounalctl | grep -i error 是用来查看 kernel issue 的 log 内容iostat -xz 1 用来查看磁盘性能 disk issue. 如果数据非常高的话,就很可能是 disk 除了问题
[root@localhost /]
Linux 4.18.0-301.1.el8.x86_64 (localhost.localdomain) 09/12/2021 _x86_64(1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.02 0.56 0.05 0.00 99.25
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 0.84 0.30 32.90 90.59 0.03 0.24 2.95 44.39 1.61 5.33 0.00 39.16 297.43 1.56 0.18
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.00 0.00 0.17 0.00 0.67 0.00
dm-0 0.63 0.29 29.32 89.71 0.00 0.00 0.00 0.00 2.08 4.91 0.00 46.91 307.56 1.79 0.16
dm-1 0.05 0.21 0.36 0.85 0.00 0.00 0.00 0.00 0.54 6.78 0.00 6.73 4.00 0.12 0.00
- 也可以直接进入文件查看
vim /var/log/messages
Unable to get IP address
- IP: Internet Protocol —> communicate from one device to another
ifup 和ifconfig 的区别: 前者不仅有 IP 地址,也有 subnet mask 以及 gateway. 后者只有 ip 地址
IP Assigned but not Reachable
netstat -rnv 可以查看 gateway
[root@localhost /]
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s3
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
ping gateway 查看是不是配置问题
[root@localhost /]
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=74.0 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=3.88 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=23.3 ms
Trouble using vi editor
commands could not be used
rpm -qa | grep telnet 可以查询有没有这个安装包 where is pwd 来查询 library 在哪里
Cannot Change Password
- /etc/shadow 文件,用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。
- 前面介绍了 /etc/passwd 文件,由于该文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中。
/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。 也可以
vim /etc/passwd 添加 userpwconv 让 vim 里面的新的 password 生效- 再
grep user /etc/passwd 或者 grep user /etc/shadow 就会显示结果 passwd user 就会让你输入设置密码- 如果此时将 /etc/shadow 里面的内容删除, user 也无法再次登录
- 需要重新
passwd user , 重新设置密码,然后写入 shadow
User has no home directory
Host doesn’t find ssh-keyscan -H 192.168.1.163 ~/.ssh/known_hosts
How to kill a process or terminal
How to Recover Root Password
重启虚拟机后, 按 e 进入编辑模式: 第四行结尾有个 ro 表示 read only. 现在要进行修改
- 将 ro 修改为
rw init=/sysroot/bin/sh 然后 ctr x 进入Edit chroot sysroot change root to system rootpasswd root change the password of root- 输入新的密码
touch /.autorelabel ***注意,这一步缺失的话,后面无论如何都会 login incorrect. 非常重要exit 后 reboot
List fo users Log in by date
last 命令可以查看 users 登录的情况 scripts:
echo "please enter day"
read d
echo
echo "Please enter month"
read m
echo
`last | grep "$d,$m"`
today=date|awk '{print $1,$2,$3}'
last | grep "$today"
Rollback Updates and Patches
- virtual machine --> snapshot
|