write down,forget
标签 Tag : Linux

linux下面,目录下所有文件合并到一个文件

<Category: Linux> Comments Off on linux下面,目录下所有文件合并到一个文件

中文多级子目录乱码,与其麻烦的改程序,还不如把文件都合并到一个文件里面,继续处理

阅读这篇文章的其余部分 »

本文来自: linux下面,目录下所有文件合并到一个文件

[转]使用webalizer来分析nginx日志

<Category: Linux> Comments Off on [转]使用webalizer来分析nginx日志

webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果是HTML文件格式,从而可以很方便的通过web服务器进行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析。Webalizer具有以下一些特性: 1.是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。
2.webalizer支持标准的一般日志文件格式(Common Logfile Format);除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。
3.支持命令行配置以及配置文件。
4.可以支持多种语言,也可以自己进行本地化工作。
5.支持多种平台,比如UNIX、linux、NT, OS/2 和 MacOS等

Webalizer配置
webalizer的默认配置文件为/etc/webalizer.conf,当启动Webalizer时没有使用“-f“选项时,Webalizer就会寻找文件/etc/webalizer.conf,也可以使用“-f”来指定配置文件(当服务器有虚拟主机时,就需要配置多份不同的webalizer配置文件,不同的虚拟主机的webalizer使用不同的配置文件。
Webalizer.conf配置文件中需要修改的配置选项如下:
LogFile /data1/logs/access.log
LogType clf
指定的日志类型
用来指示配置文件的路径信息,webalizer会将该日志文件作为输入进行统计分析;
OutputDir /data0/htdocs/blog/logs
用来指示生成的统计报表的保存目录,在前面我们使用alias,使得用户可以使用http://www.medcl.com/logs/来访问统计报表。
HostName www.medcl.com
用来指示主机名,统计报表中会引用该主机名。
其他选项就无需修改,配置文件修改完毕以后,就需要在定时webalizer,每天生成当日的统计分析。
以root身份运行:crontab -e 进入定时运行任务编辑状态,加入如下任务:
00 0 * * * /usr/bin/webalizer
这样的话,系统将会在0点,开始统计当日的访问情况

本文来自: [转]使用webalizer来分析nginx日志

ubuntu在线升级到11.10

<Category: Linux> Comments Off on ubuntu在线升级到11.10

贴进去

在弹出都更新界面中,点“部分升级”,重启,搞定。

本文来自: ubuntu在线升级到11.10

jps&jstack&jmap

<Category: Linux> 1 条评论
  • jps: List your java processes
  • jstack: Get the call stack for a given Java process
  • jmap: Show Memory Map
  • jinfo
    jps -mlvV
    jps -l -m

本文来自: jps&jstack&jmap

Linux kernel 的 sendfile 是如何提高性能的

<Category: Linux> Comments Off on Linux kernel 的 sendfile 是如何提高性能的

转:http://www.vpsee.com/2009/07/linux-sendfile-improve-performance/

现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢?sendfile 实际上是 Linux 2.0+ 以后的推出的一个系统调用,web 服务器可以通过调整自身的配置来决定是否利用 sendfile 这个系统调用。先来看一下不用 sendfile 的传统网络传输过程:

read(file, tmp_buf, len);
write(socket, tmp_buf, len);

硬盘 >> kernel buffer >> user buffer >> kernel socket buffer >> 协议栈

一般来说一个网络应用是通过读硬盘数据,然后写数据到 socket 来完成网络传输的。上面2行用代码解释了这一点,不过上面2行简单的代码掩盖了底层的很多操作。来看看底层是怎么执行上面2行代码的:

1、系统调用 read() 产生一个上下文切换:从 user mode 切换到 kernel mode,然后 DMA 执行拷贝,把文件数据从硬盘读到一个 kernel buffer 里。
2、数据从 kernel buffer 拷贝到 user buffer,然后系统调用 read() 返回,这时又产生一个上下文切换:从kernel mode 切换到 user mode。
3、系统调用 write() 产生一个上下文切换:从 user mode 切换到 kernel mode,然后把步骤2读到 user buffer 的数据拷贝到 kernel buffer(数据第2次拷贝到 kernel buffer),不过这次是个不同的 kernel buffer,这个 buffer 和 socket 相关联。
4、系统调用 write() 返回,产生一个上下文切换:从 kernel mode 切换到 user mode(第4次切换了),然后 DMA 从 kernel buffer 拷贝数据到协议栈(第4次拷贝了)。

上面4个步骤有4次上下文切换,有4次拷贝,我们发现如果能减少切换次数和拷贝次数将会有效提升性能。在kernel 2.0+ 版本中,系统调用 sendfile() 就是用来简化上面步骤提升性能的。sendfile() 不但能减少切换次数而且还能减少拷贝次数。

再来看一下用 sendfile() 来进行网络传输的过程:

sendfile(socket, file, len);

硬盘 >> kernel buffer (快速拷贝到kernel socket buffer) >> 协议栈

1、系统调用 sendfile() 通过 DMA 把硬盘数据拷贝到 kernel buffer,然后数据被 kernel 直接拷贝到另外一个与 socket 相关的 kernel buffer。这里没有 user mode 和 kernel mode 之间的切换,在 kernel 中直接完成了从一个 buffer 到另一个 buffer 的拷贝。
2、DMA 把数据从 kernel buffer 直接拷贝给协议栈,没有切换,也不需要数据从 user mode 拷贝到 kernel mode,因为数据就在 kernel 里。

步骤减少了,切换减少了,拷贝减少了,自然性能就提升了。这就是为什么说在 Nginx 配置文件里打开 sendfile on 选项能提高 web server性能的原因。

本文来自: Linux kernel 的 sendfile 是如何提高性能的

php-cgi内存优化

<Category: Linux> Comments Off on php-cgi内存优化

php-cgi内存优化

优化前:

修改/usr/local/php/etc下的php-fpm.conf和php.ini文件,去掉不需要的扩展

优化后:

只要一个php-cgi进程占用的内存超过 %1 就把它kill掉

放crontab里面,每5分钟执行一次

htop挺不错,可以很方便对cpu占用率、内存占用率等进行排序,推荐一下

本文来自: php-cgi内存优化

centos终端中文

<Category: Linux> Comments Off on centos终端中文

本文来自: centos终端中文

linux切换用户的时候出现“This account is currently not available”错误

<Category: Linux> Comments Off on linux切换用户的时候出现“This account is currently not available”错误

解决办法:
比如我是 su – apache的时候出现的问题
用vi看看apache的帐号信息
# vi /etc/passwd | grep apache
发现它的shell是“/sbin/nologin”,需要将起改成“/bin/bash”
# vipw /etc/passwd
修改完毕后,保存退出

本文来自: linux切换用户的时候出现“This account is currently not available”错误

Linux下scp的用法

<Category: Linux> Comments Off on Linux下scp的用法

Linux下scp的用法

scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。
有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。
阅读这篇文章的其余部分 »

本文来自: Linux下scp的用法

linux文件合并

<Category: Linux> Comments Off on linux文件合并

# vim a
在这个文件的命令模式下:
shfit+G (把光标定位到最后一行)
:r b (把文件b内容读取到当前当前光标的下一行)
:w c (写新文件c)

or
cat a b >c

总结:第一种方法更加灵活,如果是直接加在a文件末尾,第二种更加简单

本文来自: linux文件合并