设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 288|回复: 0

kangle 3311中重启进程后打不开的解决办法 内存索引缓存数据写入机械硬盘过慢save cache index now...

[复制链接]
 成长值: 28740

签到天数: 3795 天

[LV.Master]伴坛终老

发表于 2021/12/8 06:55 | 显示全部楼层 |阅读模式 |Google Chrome 96.0.4664.45|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
kangle 3311中重启进程后打不开的解决办法 内存索引缓存数据写入机械硬盘过慢save cache index now...

分析,日志输出
  1. Wed Dec  8 06:39:36|save cache index now...
复制代码


可以观察到由于缓存信息过多,在保存索引,然后观察top wa状态,发现占用10-20%左右
在观察iotop,可以看到磁盘性能已经用尽,解决办法,放弃索引保存,立即杀死进程,或者更换固态盘
Total DISK READ: 720.48 K/s | Total DISK WRITE: 23.62 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                           
7789 be/4 root      720.48 K/s  563.00 K/s  0.00 % 99.99 % kangle


可以分析到,正在写入的文件名为index.sqt3-journal
-rw-r--r--   1 root root 1045036032 12月  8 06:57 index.sqt3
-rw-r--r--   1 root root    6169712 12月  8 06:57 index.sqt3-journal

[root@localhost kangle]# du -sh index*
4.0K        index
4.0K        index.scan
997M        index.sqt3
120K        index.sqt3-journal
[root@localhost kangle]# du -sh index*
4.0K        index
4.0K        index.scan
997M        index.sqt3
6.5M        index.sqt3-journal
[root@localhost kangle]#


通过确认,,确实是在写缓存,是把内存缓存中的数据写进磁盘,内存分配的过高了,就导致了毛病
  1. ll /proc/进程pid/fd
复制代码


杀死进程并且重新启动kangle命令
  1. /vhs/kangle/bin/kangle -q;killall -9 kangle;sleep 3;/vhs/kangle/bin/kangle
复制代码


或者有耐心,,,可以等跑完索引,如果强制杀死会导致部分未写入索引状态的磁盘缓存信息丢失,需要使用3311中磁盘缓存扫描恢复该未及时写入导致丢失的部分缓存信息

或者等待后续版本完善,索引有应当直接全读到内存中,写入索引过程都应当在内存完成,然后在把文件复制到磁盘,并且重启的时候应当丢弃掉内存中的数据更科学?
再不然这部分做成工作线程异步处理也可以,,不过貌似占用IO比较大也不太适合这样搞异步,机械盘那烂io可能会导致正常web访问卡住

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2022/5/25 15:35 , Processed in 0.683576 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表