工作中遇见,记之以待后用。
1. CONFIG_MAGIC_SYSRQ
SysReq 定位内核的好东西,开启后在shell发送 break 命令可以查看内存、当前CPU运行地址等信息,当系统卡死时(比如内核死循环)仍可使用该命令查看信息。
SysReq菜单举例如下:
SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) Sync show-task-states(T) Unmount show-blocked-tasks(W)
* SysReq+m查看内存信息:
SysRq : Show Memory Mem-Info: Normal per-cpu: CPU 0: hi: 42, btch: 7 usd: 31 active_anon:2044 inactive_anon:2 isolated_anon:0 active_file:693 inactive_file:2773 isolated_file:0 unevictable:0 dirty:0 writeback:0 unstable:0 free:21327 slab_reclaimable:239 slab_unreclaimable:2247 mapped:1395 shmem:3 pagetables:114 bounce:0 Normal free:85308kB min:896kB low:1120kB high:1344kB active_anon:8176kB inactive_anon:8kB active_file:2772kB inactive_file:11092kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:130048kB mlocked:0kB dirty:0kB writeback:0kB mapped:5580kB shmem:12kB slab_reclaimable:956kB slab_unreclaimable:8988kB kernel_stack:504kB pagetables:456kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 Normal: 59*4kB 18*8kB 10*16kB 31*32kB 41*64kB 20*128kB 13*256kB 3*512kB 2*1024kB 1*2048kB 17*4096kB = 85308kB 3469 total pagecache pages 32768 pages RAM 1162 pages reserved 5754 pages shared 7953 pages non-shared
* SysReq查看CPU运行地址:
SysRq : Show Regs Cpu 0 $ 0 : 00000000 80380000 00000000 800639c0 $ 4 : 80334000 00000000 1000e400 ffff00fe $ 8 : 00000000 0000e400 00000000 8782c000 $12 : 00000000 000005e5 00000000 00000000 $16 : 80380000 803719ec 80330000 80380000 $20 : 80380000 87ff0000 87ff0000 9f050040 $24 : 00000000 80097de0 $28 : 80334000 80335ed0 87ff4780 800654bc Hi : 0000015f Lo : 68192800 epc : 800639e0 r4k_wait+0x20/0x40 Tainted: P O ra : 800654bc cpu_idle+0x40/0x60 Status: 1000e403 KERNEL EXL IE Cause : 00804000 PrId : 00019374 (MIPS 24Kc)
2. /proc/sys/kernel/panic
指定系统panic后多久重启,单位秒,例如
echo 3 > /proc/sys/kernel/panic
表示当系内核发送panic时,等待3秒再重启
3. top -m 查看内存情况和占用排序
该命令需要访问 /proc/{pid}
说明:该-m选项只有busybox自带的top才有,完整独立的top似乎没有-m选项。
4. /proc/cmdline
cat /proc/cmdline 可以看到系统的启动参数
5. TFTP和FTP穿透NAT
由于这2个协议的端口号不是固定的,因此需要专门模块处理其NAT穿透,要开启内核宏:
CONFIG_NF_CONNTRACK_FTP CONFIG_NF_CONNTRACK_TFTP CONFIG_NF_NAT_FTP CONFIG_NF_NAT_TFTP
创建于 2018-12-13 20:51:40
最后更新于 2019-10-29 17:18:15