linux 内核宏,LINUX一些较有用的内核宏/命令说明

工作中遇见,记之以待后用。

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}/smaps,如果没有smaps文件,则须打开 CONFIG_PROC_PAGE_MONITOR 和 CONFIG_MMU。

说明:该-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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值