将Sphinx的日志放置到/dev/shm里需要注意的事情
可以采用定时器控制,清空日志的办法:
几种快速清空文件内容的方法:
$ : > filename #其中的 : 是一个占位符, 不产生任何输出.
$ > filename
$ echo “” > filename
$ echo /dev/null > filename
$ echo > filename
$ cat /dev/null > filename
但是,日志是有一定作用的,比如下面是个例子:Sphinx重建索引失败安例分析
重建Sphinx索引的时候,可以使用以下命令: /sphinx/bin/indexer –rotate idx_name
但是这个命令并不是保证一定能重建成功的,有时候重建了之后,发现新的数据并没有加入到索引里,而从日志可以看到这样的记录: WARNING: rotating index ‘idx_m_tag’: lock: failed to lock /sphinx/data/idx_m_tag.new.spl: Resource temporarily unavailable; using old index
WARNING: rotating index ‘idx_n_tag’: lock: failed to lock /sphinx/data/idx_n_tag.new.spl: Bad file descriptor; using old index
[Sun Mar ::01.084 ] [] rotating finished
日志记录了重建索引失败,继续使用旧的索引这一事实。 要分析这个原因,首先要知道sphinx的重建索引的流程,日志里记录的spl文件,实际是一个空文件,只是sphinx加锁的一个标记而已。重建索引时,会生成新的索引文件,即在原来的文件名字后面加上.new标记为新文件,旧文件不变。然后重启searchd进程,所以我们在执行rotate index的时候会看到这样的输出: rotating indices: succesfully sent SIGHUP to searchd (pid=).
searchd进程启动后,会执行一个操作,把旧文件命名为.old文件,把.new文件更新为正常的索引文件名,如果有问题,会有 一个回滚的操作。在这个过程中,通过对spl这个文件的加锁和解锁来进行文件切换。 如果对spl的锁争用出现问题,就会导致新的索引文件不生效,这时候的解决办法是手动重启searchd进程。 如何避免这个问题,最简单的就是对sphinx日志进行监控,通过脚本捕捉到lock spl文件失败的情况,马上处理。
那么一般如何在运维中关注索引的生成情况呢?
Nagios监控Sphinx的indexer日志 http://os.51cto.com/art/201103/247290.htm
将Sphinx的日志放置到/dev/shm里需要注意的事情的更多相关文章
- Linux下的tmpfs文件系统(/dev/shm)
转自:http://www.2cto.com/os/201411/354888.html 介绍 /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统.redhat中默认 ...
- ORA-000845 与 /dev/shm(tempfs)
MEMORY_TARGET参数在Oracle 11g被引进,主要是用于控制Oracle对于系统内存的使用,首次将SGA与PGA整合到一起实现自动管理.一旦设置了MEMORY_TARGET参数值,Ora ...
- linux下的/dev/shm/及对Oracle 的影响
一./dev/shm/介绍: /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm ...
- Linux 下的tmpfs文件系统(/dev/shm)
介绍 /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统.redhat中默认大小为物理内存的一半,使用时不用mkfs格式化. tmpfs是Linux/Unix系统上的 ...
- oracle对/dev/shm的使用
查看共享内存打开的文件数 [root@db2 ~]# lsof -n | grep /dev/shm | wc -l 34693 共享内存中总共文件数 [root@db2 ~]# ls -l /dev ...
- 浅析/dev/shm
一,/dev/shm 概念 /dev/shm 是一个tmpfs文件系统,临时文件系统,是基于内存的文件系统,也就是说/dev/shm中的文件是直接写入内存的,而不占用硬盘空间. 在Centos和Red ...
- linux下的/dev/shm目录
linux下的/dev/shm目录 linux中/dev目录下一般都是一些设备文件,例如磁盘.内存.摄像头等. /dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都 ...
- 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。
巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...
- dev/shm time in linux
统计文件夹大小: du -hx --max=1 : du -sk :du -hsc 重新组织行分隔符进行显示: echo "abc,dd,bach,dong,jing,shang,china ...
随机推荐
- 关于string::size_type
size_type其实是string模板类定义的一种类型之一,它与size_of的用法相似,只是它根据存储的类型返回字符串的长度.对于 string具体化,将根据char返回字符串的长度,在这种情况下 ...
- 【c#】Tesseract-ocr 3.0.2 版本使用实例
简介 光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程.OCR技术非常专业,一般多是印刷. ...
- ZooKeeper配额指南(十)
配额 ZK有命名空间和字节配额.你可以使用ZooKeeperMain类来设置配额.ZK打印警告信息如果用户超过分配给他们的配额.这些信息被打印到ZK的日志中. $java -cp zookeeper. ...
- 知问前端——Ajax登录
本文,将使用Ajax登录. 一.服务器端代码 is_user.php: <?php require 'config.php'; $query = mysql_query("SELECT ...
- mysql 高级应用
1.MySQL like 模糊查询 例如:select * from emp where name like '张%'; 2.1MySQL UNION 操作符 SELECT country FROM ...
- Parallel
介绍 C# 4.0 的新特性之并行运算 Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - ...
- 省队集训Day1 总统选举
[题目大意] 一个$n$个数的序列,$m$次操作,每次选择一段区间$[l, r]$,求出$[l, r]$中出现超过一半的数. 如果没有超过一半的数,那么就把答案钦定为$s$,每次会有$k$个数进行改变 ...
- vue-awesome-swipe 基于vue使用的轮播组件 使用(改)
npm install vue-awesome-swiper --save //基于vue使用的轮播组件 <template> <swiper :options="swi ...
- bzoj 1046 LIS
假设我们知道以每个点开始到最后的最长上升序列,设为w[i],这样首先我们在w值中取max,如果询问的值比max大,这样显然就是无解,如果小的话,我们需要求出来字典序最小的方案. 那么对于所有i,我们肯 ...
- Angular2.0 基础: User Input
1.Angular 2.0 中的变量 对输入值的获取,我们可以通过$event 来获取,也可以通过变量来获取. template: ` <input (keyup)="onKey($e ...