Linux下生成指定大小文件

dd if=/dev/zero of=dearda-file bs=1M count=1000

在当前目录下生成大小为1000M的文件名为dearda-file的文件。

# 命令代表的意思如下:
# if 是 input file ,输入档案。那个 /dev/zero 是会一直输出0的设备
# of 是 output file ,将一堆零写入到后面的文件中
# bs 是每个 block 大小,就类似文件系统data block的意思
# count 则是总共多少个bs

可以用于测试监控系统对磁盘空间的阈值警告是否有效。

tcpkill结束、断开tcp连接

有时候碰到某些情景需要把一些tcp连接结束掉而不想重启服务器,可以通过安装dsniff实现。

http://pkgs.repoforge.org/dsniff/   再此找到相应的rpm包,安装好之后会有tcpkill此命令。

命令实例如下:

tcpkill -9 port ftp &>/dev/null
tcpkill -9 host 10.7.1.11 &>/dev/null
tcpkill -9 port 25 and port 8080 &>/dev/null
tcpkill -9 net 10.7.1 &>/dev/null
tcpkill -9 net 10.7.1 and port 22 &>/dev/null

iptables限制IP连接数connlimit

最近公司activemq服务器默认连接了N个TCP连接,看了下有几百个都是同一个IP,后面确认了是合作商的消费端有问题,没几条消息竟然创建了N个连接来接收消息,哥你这代码写得也太破了吧。像这种情况你去让他们改代码可想而知不太可能,只能在服务端这边做限制了,等到他们发现用不了的时候,自己就会乖乖的去改了。

用到了强大的iptables,但默认的iptables并没有connlimit这个模块,应该是跟系统版本有关,服务器的系统版本为:

[root@web01 ~]# uname -r
2.6.18-128.el5PAE

[root@web01 ~]# iptables –version
iptables v1.3.5

继续阅读“iptables限制IP连接数connlimit”

Redhat配置snmp服务解决获取信息不全

yum安装net-snmp或者到pbone.net去搜索下载以下文件(关于rpm包的版本信息的区分点这里):

net-snmp-5.1.2-11.EL4.10.i386.rpm     snmp服务
net-snmp-utils-5.1.2-11.EL4.10.i386.rpm   snmp工具

安装之后,配置文件在/etc/snmp/snmp.conf

如果不做修改,则默认snmpwalk -v 1 -c public localhost的结果会跟snmpwalk -v 1 -c public localhost system一样,获取到的信息不全,这样的话cacti也无法监控了。

需要修改3个地方:

1、把#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc 前面的#去掉

2、将 access  notConfigGroup “”      any       noauth    exact  systemview none none改为
access  notConfigGroup “”      any       noauth    exact mib2 none none (即systemview改成mib2)
后面观察了下,这个配置CPU、内存信息都获取不了,改成以下内容就都正常了。
access  notConfigGroup “”      any       noauth    exact all none none  (即mib2改成all)

3、把#view all    included  .1    80 前面的#去掉。

保存文件并重启snmpd。

此时再执行snmpwalk -v 1 -c public localhost ,会有N多信息出来,cacti也随之读取到了信息了。

(转)rpm与src.rpm区别及安装

转自:http://ontheroad-luckhouge.iteye.com/blog/1124215

xxxxxxxxx.rpm   <==RPM 的格式,已经经过编译且包装完成的 rpm 档案;
xxxxx.src.rpm   <==SRPM的格式,包含未编译的原始码资讯。

那么我们怎么知道这个套件的版本、适用的平台、打包的次数呢?呵呵!只要透过档名就可以知道了!例如 rp-pppoe-3.1-5.i386.rpm 这的档案的意义为:

rp-pppoe -        3.1    -     5        .i386        .rpm
套件名称   套件的版本资讯 释出的次数 适合的硬体平台 副档名

除了后面适合的硬体平台与副档名外,主要是以‘-’来隔开各个部分, 这样子可以很清楚的发现该套件的名称、版本资讯、打包次数与操作的硬体平台! 好了,来谈一谈每个不同的地方吧:

* 套件名称:
当然就是每一个套件的名称了!上面的范例就是 rp-pppoe 。

继续阅读“(转)rpm与src.rpm区别及安装”

ACTIVEMQ测试工具(消费端和生产端)

最近在折腾activemq,苦于寻找测试其性能的工具,网上兜了一大圈,要么是要自己编译的还不一定能成功,要么步骤超级烦,最终找到了,竟然就是activemq自带的,哥我服了!

就在activemq安装目录下的example目录下,运行方法很简单,在该目录下:

1、运行消费者:ant consumer
2、运行生产者:ant producer

这也太简单了吧,但事实并没有。ant哪里冒出来的命令?
官方说明:Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供

所以,你先要装好ant才能运行上面的命令。ant需要java环境,所以java环境要装好;然后配好ant的环境变量,否则你只能全路径去运行ant命令了。

activemq默认的测试工具可以配置的,见build.xml,其中几个比较常用的参数如下:

<property name="url" value="tcp://localhost:61616" />   MQ服务器地址
<property name="subject" value="dearda" />   队列名
<property name="max" value="2000000" /> 每次启动后发送/接收的数量,完成这个数量之后自动结束
<property name="parallelThreads" value="1" />  每次进程数?
<property name="messageSize" value="1000000" /> 消息大小
<property name="sleepTime" value="0" /> 休眠时间,默认为0的话发送接收消息速度飞快,单位毫秒

有了这个工具,可以设置几百万条消息做压力测试,然后逐步调整heap、perm内存空间大小,慢慢调出最稳定最优的MQ配置。

Activemq报错java.lang.OutOfMemoryError: PermGen space解决方法

最近公司一台activemq经常出现卡死的现象,页面响应缓慢,基本无法操作,只能重启activemq解决。

之前好好的,最近怎么老是出现这种问题?难道是消息量增加导致的。

后来在故障发生的时间段看了下activemq的日志,发现有以下错误:java.lang.OutOfMemoryError: PermGen space

网上查到都有类似的情况,但不是activemq,都是tomcat、jboss类似,不过都是java的应用,解决方法应该类似。主要就是因为Perm内存不足,默认是64M。

继续阅读“Activemq报错java.lang.OutOfMemoryError: PermGen space解决方法”

Linux下比较两个浮点数大小的脚本

参考自:http://blog.chinaunix.net/uid-20644632-id-68030.html

这个脚本可以比较浮点数,当然整数也是没问题。

脚本如下:
===========================================

#!/bin/sh
a=8.88
b=9.99
c=$(echo "$a>$b"|bc)        #当 a>b时,c=1;否则,c=0
if [[ $c -eq 0 ]] ; then
    echo "a < b"
else
    echo "a > b"
fi

===========================================

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12 Next