linux下用iftop 查看你的网卡流量


我用的是Centos5 ,需要安装 byacc 和flex这2个包

rpm -ivh byacc-1.9-29.2.2.i386.rpm
rpm -ivh flex-2.5.4a-41.fc6.i386.rpm
一般系统默认都是安装了的,如果没有安装可以到这下载:
wget ftp://ftp.muug.mb.ca/mirror/centos/5.5/os/i386/CentOS/byacc-1.9-29.2.2.i386.rpm
wget ftp://ftp.muug.mb.ca/mirror/centos/5.5/os/i386/CentOS/flex-2.5.4a-41.fc6.i386.rpm

rpm -ivh byacc-1.9-29.2.2.i386.rpm
rpm -ivh flex-2.5.4a-41.fc6.i386.rpm

另外还需要libpcap
libpcap下载:
http://www.tcpdump.org/release/
wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
tar zxvf libpcap-1.1.1.tar.gz
cd libpcap-1.1.1
./configure
make
make install

安装iftop
iftop下载:
http://www.ex-parrot.com/pdw/iftop/
http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make
make install
安装完成后直接用 iftop -i eth0 -n ,默认为监控eth0网卡的流量,也就是说直接运行iftop即可,就可以看到eth0网卡的流量状况,如图:

点击在新窗口中浏览此图片


界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的=> <= 这两个左右箭头,表示的是流量的方向,2行显示时,一行出,一行进。
右侧的三列数值:
第一列是:在此次刷新之前2s或10s或40s的平均流量(按B设置秒数);
第二列是:在此次刷新之前10秒钟的总流量的一半;
第三列是:在此次刷新之前40秒钟的总流量的1/5;
中间的列表,默认没有排序情况下,把10秒平均通信量大的排在前面。
界面最下面的三行显示的分别是发送、接收、总计的流量
右侧值分别是总流量(过滤后的,没过滤就是全部的)、在此次刷新之前40秒内的峰值流量、最近2秒的平均传输速率、最近10秒的平均传输速率、最近40秒的平均传输速率。
常用的参数:
/usr/sbin/iftop --help 查看帮助命令
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message)没明白啥意思呢。。。hehe
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
-c指定具体的设定文件,暂时没用过;
进入iftop画面后的一些操作命令(注意大小写):
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。


也可以从本站下载这几个软件:

下载文件 (已下载 203 次)

这是以上几个的rpm包,下载后直接rpm -ivh *.rpm即可完成安装。

在windows下使用memcached教程

[不指定 2010/08/12 10:45 | by admin ]
在windows下使用memcached教程

一、php扩展的安装
下载地址:http://downloads.php.net/pierre/
下载合适所用php版本,解压出php_memcache.dll,并拷入php\ext目录。
修改php.ini
加入extension=php_memcache.dll
重启iis

二、memcached服务端的安装
下载地址:http://jehiah.cz/projects/memcached-win32/
如:memcached-1.2.1-win32.zip,并解压
把memcached.exe拷入指定位置,如d:\memcached
打开cmd,进入d:\memcached
memcached.exe -d install
memcached.exe -d start
这时候memcached就可以正常使用了。
默认启动为使用内存: 64M
如需自行加大内存需自行运行memcached
停掉安装的服务或卸载安装的服务,进入d:\memcached
memcached.exe -m 128
这样,memcached就可以使用128M内存了。这时候你会发现这个CMD窗口一直开着,并不能关闭,关闭窗口memcached程序也会退出。

解决方法:
下载RunHiddenConsole.exe,并拷入d:\memcached
RunHiddenConsole.exe memcached.exe -m 128

附:memcached的基本设置:

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

附:php扩展中的配置信息


[Memcache]
; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = On

; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。
memcache.max_failover_attempts = 20

; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192

; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11211

; 控制将key映射到server的策略。默认值"standard"表示使用先前版本的老hash策略。
; 设为"consistent"可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
;memcache.hash_strategy = "standard"; 控制将key映射到server的散列函数。默认值"crc32"使用CRC32算法,而"fnv"则表示使用FNV-1a算法。
; FNV-1a比CRC32速度稍低,但是散列效果更好。
;memcache.hash_function = "crc32"

;memcache也可以作为session的存储模块,具体参看:memcache PHP 的 session.save_handler.

本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com

监控memcached的使用情况

[不指定 2010/08/11 21:53 | by admin ]
php程序中的加速有eaccerator、xcache、memcached,自从DZX开始支持使用memcached,越来越多的人使用memcached,今天要讲的是如何掌握memcached的内存使用状况。
前提是已安装好memcache的php扩展,并安装memcached服务程序,并且已经启动,正常工作。
一、从php官方下载memcache的扩展包,下载地址如下:
http://pecl.php.net/package/memcache
如我们下载:memcache-3.0.4.tgz
解压后得到:memcache.php
打开memcache.php,设置上帐号、密码、连接信息
$VERSION='$Id: memcache.php,v 1.1.2.3 2008/09/11 19:23:48 mikl Exp $';

define('ADMIN_USERNAME','memcache');   // Admin Username
define('ADMIN_PASSWORD','password');    // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

如以上内容设置如下:

$VERSION='$Id: memcache.php,v 1.1.2.3 2008/09/11 19:23:48 mikl Exp $';

define('ADMIN_USERNAME','admin');   // 此处设置登录用户名
define('ADMIN_PASSWORD','123456');    // 此处设置登录用户密码
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // 此处设置连接信息
#$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // 只使用一个进程,此处屏蔽,否则可以设置多个连接信息

保存后把memcache.php文件拷贝到网站目录里,在IE的地址里打开,输入用户名密码后就可以看到memcached的使用情况了。

如下图所示:


点击在新窗口中浏览此图片
脚本仅作参考,具体为什么,请参考vsftpd配置文件,转载请注明地址,谢谢
附件此脚本服务控制脚本.
下载文件 (已下载 265 次)



#!/bin/bash
clear
echo "----------------源码安装vsftpd安装程序,按任意键继续----------------"  
get_char()
  {
  SAVEDSTTY=`stty -g`
  stty -echo
  stty cbreak
  dd if=/dev/tty bs=1 count=1 2> /dev/null
  stty -raw
  stty echo
  stty $SAVEDSTTY
  }
  echo ""
  echo "本安装为配置tom和jack两虚拟用户登录各自的目录,请按任意键继续......"
  char=`get_char`

mkdir -p /usr/local/man/man8/
mkdir -p /usr/local/man/man5/
tar zxvf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2
make
make install
cp vsftpd.conf /etc/
touch /etc/vsftpd.chroot_list
touch /etc/ftpusers
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
cp ../vsftpd /etc/rc.d/init.d/
chmod 755 /etc/rc.d/init.d/vsftpd
chkconfig --add vsftpd
chkconfig  vsftpd on

sed -i 's#anonymous_enable=YES#anonymous_enable=NO#'  /etc/vsftpd.conf
sed -i 's\#local_enable=YES\local_enable=YES\g'  /etc/vsftpd.conf
sed -i 's\#write_enable=YES\write_enable=YES\g'  /etc/vsftpd.conf
sed -i 's\#local_umask=022\local_umask=022\g'  /etc/vsftpd.conf
sed -i 's\#ftpd_banner=Welcome to blah FTP service.\ftpd_banner=Welcome to xiaoyuwxzs FTP service.\g' /etc/vsftpd.conf
sed -i 's\dirmessage_enable=YES\#dirmessage_enable=YES\g' /etc/vsftpd.conf
sed -i 's\xferlog_enable=YES\#xferlog_enable=YES\g' /etc/vsftpd.conf
sed -i 's\connect_from_port_20=YES\#connect_from_port_20=YES\g' /etc/vsftpd.conf
echo "pam_service_name=vsftpd" >>/etc/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd.conf
echo "guest_enable=YES " >>/etc/vsftpd.conf
echo "guest_username=virtualuser" >>/etc/vsftpd.conf
echo "virtual_use_local_privs=YES" >>/etc/vsftpd.conf
echo "user_config_dir=/etc/vftp" >>/etc/vsftpd.conf

#修改pam认证文件
sed -i 's\auth       required     /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\#auth       required     /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\g' /etc/pam.d/vsftpd
sed -i 's\auth       required     /lib/security/pam_unix.so shadow nullok\#auth       required     /lib/security/pam_unix.so shadow nullok\g' /etc/pam.d/vsftpd
sed -i 's\auth       required     /lib/security/pam_shells.so\#auth       required     /lib/security/pam_shells.so\g' /etc/pam.d/vsftpd
sed -i 's\account    required     /lib/security/pam_unix.so\#account    required     /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
sed -i 's\session    required     /lib/security/pam_unix.so\#session    required     /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd

useradd virtualuser -d /home/virtualuser -s /sbin/nologin
rpm -ivh db4*
touch /login.txt
echo "tom" >>/login.txt
echo "123456" >>/login.txt
echo "jack" >>/login.txt
echo "654321" >>/login.txt
db_load -T -t hash -f /login.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_lofgin.db
mkdir /etc/vftp
touch /etc/vftp/tom
echo "local_root=/home/tom" >>/etc/vftp/tom
touch /etc/vftp/jack
echo "local_root=/home/jack" >>/etc/vftp/jack
mkdir /home/tom
mkdir /home/jack
chown virtualuser.virtualuser /home/tom
chown virtualuser.virtualuser /home/jack
chmod 700 /home/tom
chmod 700 /home/jack

service vsftpd start

sleep 1
echo "删除安装临时文件.............."
rm -Rf vsftpd-2.2.2
echo
echo
echo " ------------------- 如需增加新用户,请使用以下命令 -------------------"
echo "|                     echo "用户名" >>/login.txt                       |"
echo "|                     echo "密码" >>/login.txt                         |"
echo "|        db_load -T -t hash -f /login.txt /etc/vsftpd_login.db         |"
echo "|                     touch /etc/vftp/用户名                           |"
echo "|                     mkdir /home/用户名                               |"
echo "|               chown virtualuser.virtualuser /home/用户名             |"
echo "|                     chmod 700 /home/用户名                           |"
echo "|     echo "local_root=/home/用户名" >>/etc/vftp/jack/用户名           |"
echo "|                      service vsftpd start                            |"
echo "|               如需禁用用户,增加用户名到 /etc/ftpusers               |"
echo " -------------------------- vsftpd 安装结束! --------------------------"
sleep 1
分页: 13/30 第一页 上页 8 9 10 11 12 13 14 15 16 17 下页 最后页 [ 显示模式: 摘要 | 列表 ]