默认占用CPU和内存高,内存高因为java,通过/etc/scripts/osgi_admin.sh/osgi_start.sh启动,sysmon调用/etc/scripts/jwatchdog.sh 不停检测java是否退出,导致cpu占用高。
还有内核模块ORTP_TASK每2分左右占用单核心CPU 100%,通过/etc/init.d/rcS判断猫是否支持电话加载,修改此文件无效果,估计使用的/usr/etc/,通过rmmod /lib/modules/pcm1.ko减小到20%,如果rmmod不能用可以下载openwrt mips34kc软件包或编译使用。
也可下载完整版busybox使用:https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/
修改/etc/scripts/pcm_startup.sh文件让它开机后kill程序和rmmod模块,优化后CPU 0占用,ORTP_TASK每2分钟占用一次20%,解决这个估计要修改固件了。
一个小问题,使用go编译的sshd服务端非要在telnet终端内启动,不然在ssh连接终端使用ctrl+c不能终止程序,x86没问题。
/etc/pkill.sh &
exit
以下/etc/pkill.sh为脚本内容,也可添加到/etc/rc.d/S10pkill脚本,开机也能执行:
#!/bin/sh
sleep 60
/etc/rmmod /lib/modules/pcm1.ko
pkill -9 sysmon #占用大幅降低
pkill -9 voip
pkill -9 evtmgr
pkill -9 dropbear
pkill -9 dnsproxy
pkill -9 samba
pkill -9 homenas
pkill -9 storageSrv
pkill -9 securitySrv
pkill -9 batch_upgrade
pkill -9 xl2tpd
pkill -9 udhcpd
pkill -9 dhcp6s
pkill -9 radvd
pkill -9 http_traffic_process
pkill -9 traffic_mirror
pkill -9 lanhostsd
pkill -9 wifihostd
pkill -9 arpwan
pkill -9 umonitor
pkill -9 tcwdog
pkill -9 spccu
pkill -9 nffd
pkill -9 appmgr
pkill -9 ramond
pkill -9 usrbh
#禁用pcm启动后以下未启动
#pkill -9 trafficsrv
#pkill -9 usbsrv
#pkill -9 syssrv
#pkill -9 wifisrv
#pkill -9 wansrv
#pkill -9 lansrv
#pkill -9 diagsrv
#pkill -9 pcmcu
#pkill -9 omciMgr #这个kill后pon断线后不重连
#上面全部关闭后下面才能关闭,不然重启
#pkill -9 msgmgr #这两个关闭后网页不能登录
#pkill -9 cfgmgr
#pkill -9 parse #这两个ocmimgr依赖
pkill -9 alarmd
/etc/rmmod /lib/modules/sys_mod.ko
/etc/rmmod /lib/modules/DSPCore.ko
/etc/rmmod /lib/modules/pcm1.ko
/etc/rmmod /lib/modules/lec.ko
/etc/rmmod /lib/modules/spi.ko
/etc/rmmod /lib/modules/slic3_sep.ko
/etc/rmmod /lib/modules/fxs3.ko
/etc/rmmod /lib/modules/ksocket.ko
/etc/rmmod /lib/modules/ortp.ko
/etc/rmmod /lib/modules/acodec_x.ko
/etc/rmmod /lib/modules/foip.ko
#/etc/rmmod /lib/modules/ovdsp.ko
/etc/rmmod /lib/modules/pcmDump.ko
/etc/rmmod /lib/modules/lantiq/drv_ifxos.ko
/etc/rmmod /lib/modules/lantiq/drv_tapi.ko
/etc/rmmod /lib/modules/lantiq/drv_dxs.ko
修改rootfs分区禁止加载voip相关模块ORTP_TASK后CPU依然每2分钟占用单核50%左右,通过top查看是软中断占用的CPU,查看软中断wifi_ratelimit占用CPU0明显超高:
cat /proc/softirqs
CPU0 CPU1
HI: 24304711 0
TIMER: 2495627 2495649
NET_TX: 81335 77293
NET_RX: 81699 182716
BLOCK: 0 0
BLOCK_IOPOLL: 0 0
TASKLET: 30 4
SCHED: 2488517 155237
HRTIMER: 0 0
RCU: 21636 2500274
cat /proc/interrupts
CPU0 CPU1
1: 72432 0 MIPS TC3162 UART
7: 24950419 0 MIPS wifi_ratelimit
8: 21236 4723 MIPS IPI_resched
9: 819 3594 MIPS IPI_call
10: 0 0 MIPS watchdog
18: 0 0 MIPS xhci-hcd:usb1
19: 0 0 MIPS dying gasp
22: 244212 0 MIPS qdma_lan
23: 0 250646 MIPS qdma_wan
24: 138 0 MIPS
31: 2496872 2496886 MIPS timer
33: 0 0 MIPS bus timeout
ERR: 0
qdmamgr_lan set rxratelimit config Disable packet
qdmamgr_wan set rxratelimit config Disable packet
/etc/rmmod /lib/modules/wlan_ratelimit
到此CPU占用完全恢复正常,基本保持在0占用。
使用sshd没有ctrl+c不能终止的问题了
https://github.com/darkerego/mips-binaries/tree/master/openssh
UsePrivilegeSeparation no
Port 22
PermitRootLogin yes
ChallengeResponseAuthentication no
Subsystem sftp /data/sftp-server
标签:none