IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Troubleshooting Part2 System Administration Troubleshooting -> 正文阅读

[游戏开发]Troubleshooting Part2 System Administration Troubleshooting

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

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 没有停

在这里插入图片描述

  1. top 可以查到 PID ps -ef | grep pid
  2. 然后 kill或者systemctl
  3. 添加内存

Add / Extend Swap Space

在这里插入图片描述

  1. SWAP 不够的时候,可以分出其他的 disk 的大小匀给 SWAP
    dd if=/dev/zero of=/newswap bs=1M count=1024
[root@localhost ~]# dd if=/dev/zero of=/newswap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.44541 s, 312 MB/s
  1. 在 / 中执行 ls -ltr ,多了一个 newswap. chmod 使得这个文件只能 rw by its own
  2. 现在这个文件只是个 space, 要让他添加到 SWAP上 mkswap /newswap
  3. 但是查询 free -m 时无变化,这是因为还没有 enable newswap
  4. swapon /newswap 之后再查询
[root@localhost /]# free -m
              total        used        free      shared  buff/cache   available
Mem:            809         170          51          10         587         514
Swap:          1843           0        1843

  1. 同时需要同步修改 /etc/fstab
/newswap                swap                    swap    defaults        0 0

Delete Swap space

[root@localhost /]# swapoff /newswap 
[root@localhost /]# rm /newswap 
rm: remove regular file '/newswap'? yes
[root@localhost /]# free -m
              total        used        free      shared  buff/cache   available
Mem:            809         170         463          10         175         515
Swap:           819           0         819

总结

  1. 分出可用区 dd if=/dev/zero of=filename bs=xxx count=xxx
  2. chmod
  3. mkswap 使这个文件成为 swap 类型
  4. 挂载 swapon
  5. 卸载是 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
  • 几个重要命令
  1. top
  2. uptime 可以看出来什么时候 reboot 的
  3. dmesg | grep -i error 可以查询报错的记录 (kernel panic)
    dmesg用于显示内核环形缓冲区(kernel-ring-buffer)里面的内容。在进行系统引导时,内核会将有关硬件以及驱动的信息,写到这个缓冲区。当我们在诊断系统问题的时候,这里面的内容是很有用的。内核缓冲区的内容会同时写在/var/log/dmesg文件里。
  4. jounalctl | grep -i error 是用来查看 kernel issue 的 log 内容
  5. iostat -xz 1 用来查看磁盘性能 disk issue. 如果数据非常高的话,就很可能是 disk 除了问题
[root@localhost /]# iostat -xz 1
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
  1. 也可以直接进入文件查看 vim /var/log/messages

Unable to get IP address

  • IP: Internet Protocol —> communicate from one device to another
  • ifupifconfig的区别: 前者不仅有 IP 地址,也有 subnet mask 以及 gateway. 后者只有 ip 地址

在这里插入图片描述

IP Assigned but not Reachable

在这里插入图片描述
netstat -rnv 可以查看 gateway

[root@localhost /]# netstat -rnv
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
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 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
    在这里插入图片描述
    也可以
  1. vim /etc/passwd 添加 user
  2. pwconv 让 vim 里面的新的 password 生效
  3. grep user /etc/passwd 或者 grep user /etc/shadow 就会显示结果
  4. passwd user 就会让你输入设置密码
  5. 如果此时将 /etc/shadow 里面的内容删除, user 也无法再次登录
  6. 需要重新 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. 现在要进行修改
在这里插入图片描述

  1. 将 ro 修改为 rw init=/sysroot/bin/sh 然后 ctr x 进入Edit
  2. chroot sysroot change root to system root
  3. passwd root change the password of root
  4. 输入新的密码
  5. touch /.autorelabel ***注意,这一步缺失的话,后面无论如何都会 login incorrect. 非常重要
  6. exitreboot

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
  • 在这里插入图片描述
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:41:42  更:2021-09-14 13:41:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 16:16:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码