1 进程,系统性能和计划任务
2 1>进程、线程运行的先后由内核控制,协程运行的先后由程序控制
3 2>pstree - p ({}表示线程)
4 3>cat /proc/进程编号
5 4>cat /proc/进程编号/status (查看详细)
6 5>getconf -a | grep -i size (内存为进程分配大小page 4k)
7 6>虚拟内存和物理内存(MMU,TLB)
8 7>栈:后进先出
9 8>队列:先进先出
10 9>oom(out of memory):内存不足,会自动杀掉进程
11 10>ps aux 或者top查看当前所有进程
12 11>ps axo pid,mem(显示需要的内容)
13 12>kill -9 进程pid (杀掉)(谨慎使用)
14 13>kill -STOP 进程pid(停掉)
15 14>zombie:父进程没了,子进程没人收尸(Z+)
16 15>kill -CONT 重启进程
17 16>jobs显示当前被暂停的进程,可用bg 作业编号 激活
18 17>LRU 喜新厌旧算法,释放内存
19 18>本机进程间通讯可以用管道,链接文件socket......
20 19>mkfifo 创建管道文件(p)
21 20>nice 进程优先级 ( -20 - 19)(0-100-139)
22 21>renice -n 20 进程号
23 22>prtstat 进程号(查看详细信息)
24 23>pgrep 进场名字 查找进程
25 24>pidof 进程名字 查找进程相对的pid
26 25>top/w/uptime : load average 超过6,就比较危险,CPU利用过高,系统过载了
27 26>htop增强版top
28 27>pmap 空白/进程号 查看占用内存
29 28>vmstat 空白/进程号 查看虚拟内存状态
30 29>iotop 空白/进程号 查看磁盘号
31 30>iftop
32 31>dastat 查看硬盘
33 32>nload 查看网卡
34 33>glances 远程连接其他主机查看
35 34>lsof 查看命令对应的进程
36 35>cockpit Centos8新特性,可提供界面服务,但是注意开启服务
37 36>Ping 127.0.0.1 & (加上&后台执行)
38 37>bash&bash&bash&(三个bash命令并行执行)
39 38>killall 命令(杀掉所有这个命令的进程)
40 39>at 一次性计划任务,
41 (1)标准输出输入不会在当前屏幕打印,通过发邮件出来
42 (2)最好通过&>/dev/null隐藏起来
43 40>脚本实现
44 (1)/etc/init.d/xxx
45 (2)/lib/systemd/system/xxx.service
46 41>crond 计划任务 /etc/cron.??
47 (1)crontab 周期性创建计划任务,*每天
48 ①# .---------------- minute (0 - 59)
49 # | .------------- hour (0 - 23)
50 # | | .---------- day of month (1 - 31)
51 # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
52 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
53 # | | | | |
54 # * * * * * user-name command to be executed
55 ②*/10 8-18 1-10,15-20 * * /date/check_disk.sh
56 ③计划任务里面的$PATH 和环境的$PATH不一样,可以自己在脚本重设设置,写在第一行
57 ④30 2 1,10,20 * 0,6 /data/test.sh (每月的1,10,20号或者周六周日,2点30分)
58 ⑤tail -f /var/log/cron 跟踪计划任务日志
59 ⑥面试题:每年11月每天的6-12点之间每隔两小时执行/app/bin/test.sh
60 ⑦0 6-12/2 * 11 * /app/bin/test.sh (每天6点,8点,10点,12点)
61 ⑧用sleep在脚本里面精确到分以下
62
63 系统启动和内核管理
64
65 1>POST--MBR-/boot/grub --- /boot/grub2/grub.cfg--kernel-rootfs--init(systemd) --rc.sysinit/target--service--rc.local--login
66 2>grub-install /dev/sda (除grub.conf以外,全部修复)
67 3>grub.conf:
68 (1)default=0
69 (2)timeout=3
70 (3)kernel 内核路径
71 (4)initrd 启动路径
72 4>登录界面a, 然后用1登录(centos 5&6)
73 5>通过救援模式从光碟启动,直接修改shadow,把密码空了
74 6>chkconfig 服务名 on (设置开机启动)/service 服务名 start,stop,restart,status
75 (1)自己编译的脚本
76 ①chkconfig: - 96 3 (S96 K03)
77 ②description:
78 (2)放在/etc/init.d/
79 (3)写完加权chmod +x 脚本名
80 7>/etc/rc*.d/下面,K开头默认不启动,S开头开机启动
81 8>重启,按ESC让服务可看
82 9>xinted 服务 ,监听端口23(lsof -i 23),唤醒telnet
83 10>vim /etc/rc.local 可以加自己需要启动的东西到里面,需要加权
84 11>Sysctl -a 查看所有生效的参数
85 (1)改的东西可以放在/etc/sysctl.conf
86 12>Systemd 新特性
87 (1)服务同时并行启动
88 (2)/lib/systemd/
89 (3)Ststemctl daemon-reload 加载服务
90 (4)systemctl status/start/disable/is-enable/enable 服务名
91 (5)Systemctl enable --now 服务名
92 13>grub 损坏
93 (1)grub2-install /etc/sda(先安装grub)
94 (2)rpm -ivh /mnt/Baseos/Paclages/kernel-core....(加载光盘,安装内核)
95 (3)grub2-mkconf -o /boot/grub(配置grub.conf)