|
本帖最后由 sdwfwmj 于 2022-3-21 12:30 编辑
# w8 T; D, D. {% `
5 Z- w' A0 Z) e# R" Z z" q我在上一次主贴中提到了大约035版8145X6的内存泄漏原因分析并附上了相应解决方案,在进一步的跟踪中又发现华为插件kernelapp可能也是内存泄漏点之一,所以在此贴中提供无损开关kernelapp的方法(到目前为止,我发现的kernelapp的用途是使用户能用linkhome来管理光猫,坛友若发现其他作用,欢迎补充)。本贴提供的附件使用内置的restart来重启easymesh和log,不再粗暴使用killall命令。有能力的网友,可以根据我提供的内容自行修改光猫文件;想偷懒的网友直接使用我的附件就好,提供两个附件,一个是不关掉easymesh的,一个是关掉easymesh的,附件仍是5猫粮1个,不给大家很多负担,论坛领一次猫粮足够。
3 N0 H" v4 g2 n/ B4 M | l7 V
& l' B H4 a$ X1 Z具体分析可以参考我以前的贴子:035版8145x6不升级固件解决内存问题的一种方案『 光猫FTTx技术交流区 』 - Powered by Discuz! (chinadsl.net)! s7 [/ K- W. P. A* J% T2 h% Z
5 Y4 D3 R8 ^; @, ?/ x# d4 \( p1 D7 z; I, m8 n. z# {- L+ |! B
——————在开始之前先备份plug以备万一出问题————————
1 X. }' e, c& x& ^( W- v插入u盘后,备份命令:
6 C$ K% x; G! n) x0 z5 jsu; k3 ^$ @& Y5 L: f& V
cd /mnt/jffs2/plug
- r- F( I" O) n, S4 e/ ?0 ?; ]tar -cf /mnt/usb1_1/plug.tar *
3 J& _/ ]# ]: a& t备份完成后,当u盘灯不再闪烁后才能取下u盘
# p2 C" u. a. D% Q3 L1 f( y; h如果感觉有问题要恢复,保证plug.tar在U盘根目录:
2 s5 A, t" R- Tsu
" h, `* ?6 g5 ucd /mnt/usb1_1
5 U0 {1 l$ J0 E7 b& I0 K! vtar -xf plug.tar -C /mnt/jffs2/plug
. ~" Y1 z( P. W/ M+ A: J! f& c- C$ d" b- a/ O+ _3 _# b
——————————下面开始————————————
; R; s, n* ~7 h- t" L, p8 t首先是开关kernelapp问题,进入shell命令如下
/ a g( |! `* Y; S- Vsu1 I3 v2 k0 Y1 \- k0 f
cd /mnt/jffs2/plug/app/cplugin' @ W/ S4 a: _( s
cp cpluginstate cpluginstate-bak
$ R, q$ i- ~. f8 b" `sed -i 's/ACTIVE/STOP/' cpluginstate
/ R5 ?) K' }2 D5 c# H, E输完命令后确认下:
) b9 M5 c4 ^* \$ V# F' `% [cat cpluginstate
$ G, L0 ?) H; Y, B. m. A1 K输出内容中没有ACTIVE而有STOP就行了。确认cpluginstate后需要重启
" U) r& G; G0 r |1 o重启命令:reboot 重启后输入top回车,按m后使用↓键来找一找,只要没有./kernelapp就是成功了。 q: ?! ]$ S* S9 }+ q0 r
4 \! Q8 |3 _$ g% y, c$ `# W9 ]4 o
以后如果想用kernelapp的话,命令如下:! m2 W3 Y) v0 b) J' r/ x8 o
su
. A+ U; m& {* ?7 `* H% X6 Y; u- mcd /mnt/jffs2/plug/app/cplugin
# G, y% E' C" a& ~' o4 `, e2 H5 M* @3 n y+ ~
rm -rf cpluginstate
8 N6 J$ ~ h6 z* c( ^mv cpluginstate-bak cpluginstate$ Z+ d, B- ]7 P1 L
reboot
- x- E T4 x x0 g) h就好了
" U4 N" a2 T$ [& e5 M- B2 _6 |- G2 @( ?& c
——————————下面是优化apps(电信插件)中日志导致内存飙升问题——————————————# o6 M3 r8 S! o
注意的是,本贴提供的文件在重置中间件后会失效,所以如果哪天不想用了,直接登录光猫的普通用户,选中间件重置即可。下面的两个附件按需下载,根据自己的需求下载其中一个就好。* A9 |& u" e( u7 r
; I: I7 f9 y2 ^, k3 w0 r! F' }
`: g3 u4 k+ L' O! A; p0 G, P以下是解决办法及附件(本帖只提供使用u盘传递文件的命令,想用tftp的自己摸索传递文件命令)。
' X- W8 A9 |1 q4 A下载本帖的附件并复制到光猫的/mnt/jffs2/plug下解压即可,如果将其复制到u盘内插到光猫上复制,命令如下:
- g: Z+ [+ q4 \+ L(1)想要easymesh正常运行的1 f) h2 ]: w1 P
如果想把压缩包导入到光猫中解压,命令如下:3 W! e: M. X" P, g8 \9 K
su5 s3 c3 |5 Q2 G7 x
cd /mnt/jffs2/plug$ c' I8 a Q& _/ X$ q2 ]: l. [
cp /mnt/usb1_1/apps-easymesh.tar apps-easymesh.tar7 B: ~( Q+ X$ V1 ?
tar -xf apps-easymesh.tar/ h7 j; L+ _4 D7 m' k
rm -rf apps-easymesh.tar- x# H& @6 F# x" e, }- @, v( \! s
killall saf-huawei, I- _6 c7 r A# r( ~. w8 {1 A
0 H; y; _( X# J$ G9 ?
2 A2 d0 x) ]/ M+ T' Z8 a9 t如果想在u盘上直接解压,命令改成如下:
+ U$ _$ j* Q- t: S% E6 D% k+ gsu
& X6 q: P& t: D4 ^! c U- dcd /mnt/usb1_1
3 ^2 U3 h W7 rtar -xf apps-easymesh.tar -C /mnt/jffs2/plug
: G6 E# s/ m% K _killall saf-huawei" u+ W. y7 q& ]6 Y4 P5 B
所有上述命令做完后,用top命令寻找有没有名称为/usr/sbin/crond -c /etc/crontabs进程,有了就代表文件成功运行了
6 y5 n7 [! ~' g$ K
9 v/ d. J2 ?- {. r
$ j: j# D" s- z. d# u# I
2 {/ x Z5 X3 s(2)想要关掉easymesh的如果想把压缩包导入到光猫中解压,命令如下:
1 u. ]8 I: [3 Xsu7 r/ E9 k3 |2 d$ K0 k: ]) v
cd /mnt/jffs2/plug
, F+ W5 @ l. jcp /mnt/usb1_1/apps-noeasymesh.tar apps-noeasymesh.tar3 P7 E" f4 B6 k
tar -xf apps-noeasymesh.tar. V1 w8 @, k' M) M
rm -rf apps-noeasymesh.tar
, K* A% f+ L Rkillall saf-huawei
: {8 j4 d" d# B% d6 ~
+ p+ ^) H3 B4 T% x如果想在u盘上直接解压,命令改成如下:" k0 W/ r0 s* z# J* S
su
3 G% k; D# G2 T- \+ scd /mnt/usb1_10 J x" @! g# ^* {% E1 T
tar -xf apps-noeasymesh.tar -C /mnt/jffs2/plug7 s; a+ ?# Z% d3 U3 }
killall saf-huawei' O) G$ F, d1 p A2 u$ A* I6 M* O
所有上述命令做完后,用top命令寻找有没有名称为/usr/sbin/crond -c /etc/crontabs进程,查看/sbin/easymesh进程是否已经消失,如果上面两项实现就代表文件成功运行了
8 O3 }; k* H3 M& v7 I
2 n0 j6 @) p* L" q: U$ L# }8 t2 Z6 Z1 J4 H9 r
确认文件成功运行后,最好重启一下以排除其他程序影响,重启命令:reboot
$ q# L b' E2 \, S; q
+ Q0 K) U6 P/ ^0 a2 b6 E+ `8 O注意,已经没有了电信插件的,优化apps的附件不起作用,不用白费劲,仅关掉kernelapp就可以了。
; e! _ ~" G3 J! s
$ B ~2 _. D" d% A$ k8 Y/ A! B |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|