Linux - 计划任务和内核管理
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)