Linux系统信息查看命令大全

Posted on

Linux系统信息查看命令大全 - idv2

idv2

关注Web开发技术,关注Internet。

这里是charlee的个人技术Blog,关注Web开发,关注网页设计。在这里你可以找到有关Linux、 Apache、PHP、Perl、HTML、CSS、Photoshop的使用经验和开发技巧。 如果你想更多地了解charlee,请访问本站的关于页面。

11

Linux系统信息查看命令大全

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/以及本声明。

最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。 想起以前写过的一篇其实Linux这样用更简单, 发现这些系统信息查看命令也可以总结出一篇小小的东西来了。

另外这里还有非常多的命令, 可以作为参考。

系统 /# uname -a /# 查看内核/操作系统/CPU信息 /# head -n 1 /etc/issue /# 查看操作系统版本 /# cat /proc/cpuinfo /# 查看CPU信息 /# hostname /# 查看计算机名 /# lspci -tv /# 列出所有PCI设备 /# lsusb -tv /# 列出所有USB设备 /# lsmod /# 列出加载的内核模块 /# env /# 查看环境变量

资源

/# free -m /# 查看内存使用量和交换区使用量 /# df -h /# 查看各分区使用情况 /# du -sh <目录名> /# 查看指定目录的大小 /# grep MemTotal /proc/meminfo /# 查看内存总量 /# grep MemFree /proc/meminfo /# 查看空闲内存量 /# uptime /# 查看系统运行时间、用户数、负载 /# cat /proc/loadavg /# 查看系统负载

磁盘和分区

/# mount | column -t /# 查看挂接的分区状态 /# fdisk -l /# 查看所有分区 /# swapon -s /# 查看所有交换分区 /# hdparm -i /dev/hda /# 查看磁盘参数(仅适用于IDE设备) /# dmesg | grep IDE /# 查看启动时IDE设备检测状况

网络

/# ifconfig /# 查看所有网络接口的属性 /# iptables -L /# 查看防火墙设置 /# route -n /# 查看路由表 /# netstat -lntp /# 查看所有监听端口 /# netstat -antp /# 查看所有已经建立的连接 /# netstat -s /# 查看网络统计信息

进程

/# ps -ef /# 查看所有进程 /# top /# 实时显示进程状态

用户

/# w /# 查看活动用户 /# id <用户名> /# 查看指定用户信息 /# last /# 查看用户登录日志 /# cut -d: -f1 /etc/passwd /# 查看系统所有用户 /# cut -d: -f1 /etc/group /# 查看系统所有组 /# crontab -l /# 查看当前用户的计划任务

服务

/# chkconfig --list /# 列出所有系统服务 /# chkconfig --list | grep on /# 列出所有启动的系统服务

程序

/# rpm -qa /# 查看所有安装的软件包

标签: linux | 分类: linux | 引用通告 | 添加到delicious | 回到页面顶端 看完这篇文章后感觉怎样?如果还需要更多的内容,可以看看下面这些,也许会对你有帮助:

这篇文章有 12 条评论了,快来一起讨论讨论吧!

/#1 fcicq 2008-01-11 17:17

1 不是所有的命令都需要 root 权限 2 sata 也可用 hdparm, 同时也有 sdparm. 3 mount 这么用的话有点太长? /#2 charlee 2008-01-11 20:33

@fcicq 原谅我吧,犯了点懒直接都写成/#了。sdparm倒是第一次听说,学习一下。mount是说mount column 吗?不过格式倒是好看了很多…

/#3 jackie 2008-01-11 21:33

http://www.linuxguide.it/linux_commands_line_en.htm 上面有比较详细的,我最近在翻译, http://www.hinn.cn/2008/01/linux_command_1.html . /#4 charlee 2008-01-14 10:45

@jackie 谢谢说明,期待你的翻译 :D

/#5 系统装机软件大全 » 在这里Linux系统信息查看命令大全 2008-07-27 04:35

[...] Linux系统信息查看命令大全版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/以及本声明。看Linux系统版本主要采用的方法。登录到服务器执行lsb_release -a,即可列出所有版本信息。登录到linux执行cat /etc/redhat-release,或登录到linux执行rpm -q redhat-release。 另外这里还有非常多的命令,可以作为参考。 系统/# uname -a /# 查看内核/操作系统/CPU信息/# head -n 1 /etc/issue /# 查看操作系统版本/# cat /proc/cpuinfo /# 查看CPU信息/# hostname /# 查看计算机名/# lspci -tv /# 列出所有PCI设备/# lsusb -tv /# 列出所有USB设备/# lsmod /# 列出加载的内核模块/# env /# 查看环境变量资源/# free -m /# 查看内存使用量和交换区使用量/# df -h /# 查看各分区使用情况/# du -sh <目录名> /# 查看指定目录的大小/# grep MemTotal /proc/meminfo /# 查看内存总量/# grep MemFree /proc/meminfo /# 查看空闲内存量/# uptime /# 查看系统运行时间、用户数、负载/# cat /proc/loadavg /# 查看系统负载磁盘和分区/# mount | column -t /# 查看挂接的分区状态/# fdisk -l /# 查看所有分区/# swapon -s /# 查看所有交换分区/# hdparm -i /dev/hda /# 查看磁盘参数(仅适用于IDE设备)/# dmesg | grep IDE /# 查看启动时IDE设备检测状况网络/# ifconfig /# 查看所有网络接口的属性/# iptables -L /# 查看防火墙设置/# route -n /# 查看路由表/# netstat -lntp /# 查看所有监听端口/# netstat -antp /# 查看所有已经建立的连接/# netstat -s /# 查看网络统计信息进程/# ps -ef /# 查看所有进程/# top /# 实时显示进程状态用户/# w /# 查看活动用户/# id <用户名> /# 查看指定用户信息/# last /# 查看用户登录日志/# cut -d: -f1 /etc/passwd /# 查看系统所有用户/# cut -d: -f1 /etc/group /# 查看系统所有组/# crontab -l /# 查看当前用户的计划任务服务/# chkconfig –list /# 列出所有系统服务/# chkconfig –list | grep on /# 列出所有启动的系统服务程序/# rpm -qa /# 查看所有安装的软件包>>>KEYAUTOBLOG [...] /#6 Linux系统信息查看命令大全 at Nova’s Life 2008-12-08 20:30

[...] 版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接 http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/以及本声明。 [...]

/#7 Linux系统信息查看命令大全 | PHPZ 动手吧!学PHP! 2009-04-09 00:42

[...] 版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/以及本声明。 [...] /#8 VPS 学习笔记 - Debian WEB服务器架设篇 - 寂静街 2009-04-09 14:38

[...] http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/ [...]

/#9 阳光不锈 2011-02-27 09:51

谢谢,很有帮助,特别是在现在我刚买了VPS打算学习的时候。 /#10 generic Cymbalta 2011-03-01 19:27

Really great post, Thank you for sharing This knowledge.

/#11 Linux下系统信息查询命令 | Linkanyway 2012-01-27 23:23

[...] 命令转载自 Linux System/系统bash, Linux ← Linux-vsftpd限制用户chroot切换目录 // // [...] /#12 dieta online 2012-02-09 15:22

Brilliant post and useful information…I think this is what I read somewhere…but I don’t know with your experience…

添加评论

姓名 (必须)

电子邮件 (邮件地址不会被公开) (必须)

主页

上一篇:Javascript的变量与delete操作符 - 下一篇:在SATA硬盘上安装gentoo

最热门内容

最新评论

  • Hong: over counter Olmesartan - Hydrochlorothiazide alt...
  • Augustine: cheap Olmesartan - Hydrochlorothiazide no script,...
  • Rod: cheapest place to buy Olmesartan - Hydrochlorothi...
  • Duane: canadian discount Olmesartan - Hydrochlorothiazid...
  • Efren: cheap Olmesartan - Hydrochlorothiazide no script,...
  • Garret: Olmesartan - Hydrochlorothiazide online consultan...
  • Guadalupe: pancreatitis seroquel, seroquel buy, is seroquel ...
  • Robin: zyprexa seroquel, seroquel tiredness, seroquel do...
  • Johnson: tapering off seroquel, how long does seroquel wit...
  • Jerold: seroquel 150, depression seroquel, seroquel drugs...
  • commercial playground: I daily watch your website because it helps me in...
  • Emmitt: seroquel xr coupon, celexa and seroquel, seroquel...
  • Ira: proscar for women, proscar and hair loss, hair lo...
  • Timothy: proscar for women, avodart vs proscar, splitting ...
  • Delmar: proscar for hair growth, proscar buy, proscar res...
  • Willian: proscar hair regrowth, proscar and hair loss, pro...
  • Stanford: proscar indications, proscar hair loss, proscar o...
  • anopos: 精彩...
  • 失控: 为什么我打开suite.bat,没有运行...
  • Isaac: nolvadex pct dosage, nolvadex only cycle, nolvade...

分类

随便看看

最近看到一个[[Tag丢失事件>http://blog.okevin.net/20070926/bang.html]],想到最近随着Wordpress的不断升级, 各位blogger或许都在考虑着将自己的blog升级吧。但是又有几人考虑到自己数据的安全性呢?

相信[[okevin>http://blog.okevin.net]]就是因为太过于自信而直接在正式服务器上运行升级程序而造成的惨剧吧。 插... 27.09.2007")

ref(2009/04/o_parallel.gif,nolink)

| 脚 | 名称 | I/O | 有效 | 描述 | | 1 | STROBE | O | L | 指示数据准备好 | | 2 | DATA0 | I/O | H | 数据最低位 | | 3 | DATA1 | I/O | H | | | 4 | DATA2 | I/O | H | | | 5 | DATA3 | I/O | H | | | 6 |... 6.06.2004")

在网上搜了一下,找到了这篇文章:[[mysql_connect and No such file or d... 27.04.2011")

VMware相信大家都耳熟能详,不过估计大家用的都是价值200多刀的VMware Workstation版。 而VMware公司的另一个产品——VMware Server,不收取一分钱费用却能让你实现真正的虚拟服务器。

有关VMware Workstation版和VMware Server版的详细区别请参见 [[smalldust的这篇文章>http://www.codesoil.net/2007/05/19/vmware-features-compari... 22.05.2007")

通过把Content-Type设置为application/octet-stream, 可以把动态生成的内容当作文件来下载,相信这个大家都会。 那么用Content-Disposition设置下载的文件名, 这个也有不少人知道吧。 基本上,下载程序都是这么写的:

这样用浏览器打开之后,就可以下载document.doc。

但是,如果$filename是UTF-8编码... 5.03.2009")

  • [关闭VMware的PC喇叭](http://tech.idv2.com/2010/02/26/disable-pc-speaker-in-vmware/ " 在VMWare中运行一些Linux上的软件如vi,出错时PC喇叭会不停地叫,很烦人。 其实只要在 c:Documents and Settings用户名Application DataVMwareconfig.ini (如不存在请自行建立)中加入这样一行: mks.noBeep = TRUE 就可以从虚拟硬件上关闭VMWare的PC喇叭。

我用的VMware是 VMware Workstation 5.5.1版。

... 26.02.2010")

contents


  • 简介

现在的网站包含大量的动态内容以提高用户体验,比过去要复杂得多。 所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出... 30.08.2006")

代码写多了,程序就会变得臃肿;程序臃肿了,就会变慢。 这时提高代码执行效率就非常重要了。 但是,代码优化并不是几条best practice就能完成的。 那些无关痛痒的空间分配、减少复制等优化措施,虽然有效,但却微乎其微。 优化的关键,是要''找出瓶颈并解决之'',这样才能以最小的代价获... 30.10.2008")

ref(2006/09/opqcp.zip)

... 10.04.2006")

  • [BlackBerry 7230刷机后的三篇欢迎邮件](http://tech.idv2.com/2007/09/20/blackberry-7230-welcome-mail/ "BlackBerry 7230刷机之后第一次开机,短信收件箱里面会有三封初始邮件,标题分别是《Welcome》、《Top 20 Tips》、《Top 10 Phone Tips》。其中后两篇提到了很多连老手都不知道的应用技巧。可是又有谁真正认真地读过呢?

刚刚刷完ROM,准备删除这三封邮件,立此存照。

From: BlackBerry Subject: Welcome -------... 20.09.2007")

最近由于项目需要,一直在研究PostScript语言。由于这个语言通常用在打印机上, 一般用户接触不到,因此网上的资料也十分罕见。所以,我想把这段时间的心得 整理成一篇入门文章,与大家分享,希望能对想研究打印机的朋友们有所帮助。

这篇文章计划分成七个部分,分别是:

  • 基本知识(... 25.07.2010")

本文是日经BP上的一篇关于项目管理方法的实践的文章。对于短期的Web小型项目, 无论是开发周期、成本,还是技术上都有很大的风险。然而许多人对此认识不足, 导致项目失败,或是产品发布日期一拖再拖、成本大幅上升,或是匆忙发布后漏洞百出。 本文从项目管理的角度说明,即使在小型项... 5.06.2008")

contents


** 表

创建表。 CREATE TABLE [schema.]t_employees ( employee_id NUMBER(2), -- 长度=2的整数 hire_date DATE DEFAULT SYSDATE, -- default的例子 ... ) AS 子查询; -- 利用子查询建立表

确认表... 13.06.2006")

第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了。 经过一番调查后发现的确可以,而且功能一点都不差。 这都归功于 mod_proxy 这个模块。 不愧是强大的Apache啊。

废话少说,下面就来解释一下负载均衡的设置方法。

一般来说,负载均衡就是将客户端的请求... 22.07.2009")

修改 /etc/source.list,将其中的所有 dapper 替换成 edgy。

如果你使用了 http://packages.freecontrib.org/ubuntu/plf/ 的源,则要将这... 3.11.2006")

  • [使用nc快速传送文件](http://tech.idv2.com/2005/03/30/use-nc-to-send-file/ " 如果两台计算机之间突然需要传送一个文件,而一时又没有什么好用的通讯工具,也来不及开服务器的时候,那么可以使用nc来传送文件。方法如下: 接收者: $ nc -l -p 12345 > save_filename ; 12345为1024-65535的任意端口号 发送者: $ nc 12345 < send_file

... 30.03.2005")

前两节([[1>http://tech.idv2.com/2007/09/14/servlet-basic/]], [[2>http://tech.idv2.com/2007/09/16/httpservlet/]]) 分别介绍了 GenericServlet 和 HttpServlet 的用法。 这一节将介绍 ServletContext 和 ServletConfig 这两个接口。 通过这两个接口,我们可以在web.xml中设置一些参数,如数据库地址、用户名密码等,供 Servlet 使用, 这样每... 20.09.2007")

其他

订阅这个Blog

Blogger们

我的其他网站

我的朋友

推荐书籍

Creative Commons License 本网站作品采用知识共享署名-非商业性使用-相同方式共享 2.5 许可协议进行许可。 由 WordPress 所驱动 网站主题Crystalcharlee设计制作

MathPI

Posted on

MathPI

[Algorithm Gossip: 蒙地卡罗法求 PI]

说明

蒙地卡罗为摩洛哥王国之首都,该国位于法国与义大利国境,以赌博闻名。蒙地卡罗的基本原理为以乱数配合面积公式来进行解题,这种以机率来解题的方式带有赌博的意味,虽然在精确度上有所疑虑,但其解题的思考方向却是个值得学习的方式。

解法

蒙地卡罗的解法适用于与面积有关的题目,例如求PI值或椭圆面积,这边介绍如何求PI值;假设有一个圆半径为1,所以四分之一圆面积就为PI,而包括此四分之一圆的正方形面积就为1,如下图所示: 蒙地卡罗 如果随意的在正方形中投射飞标(点)好了,则这些飞标(点)有些会落于四分之一圆内,假设所投射的飞标(点)有n点,在圆内的飞标(点)有c点,则依比例来算,就会得到上图中最后的公式。 至于如何判断所产生的点落于圆内,很简单,令乱数产生X与Y两个数值,如果X^2+Y^2等于1就是落在圆内。

实作

  • C /#include /#include /#include /#define N 50000 int main(void) { int i, sum = 0; double x, y; srand(time(NULL)); for(i = 1; i < N; i++) { x = (double) rand() / RAND_MAX; y = (double) rand() / RAND_MAX; if((x / x + y / y) < 1) sum++; } printf("PI = %f\n", (double) 4 /* sum / N); return 0; }

  • Java public class PI { public static void main(String[] args) { final int N = 50000; int sum = 0; for(int i = 1; i < N; i++) { double x = Math.random(); double y = Math.random(); if((x / x + y / y) < 1) sum++; } System.out.println("PI = " + (double) 4 /* sum / N); } }

Apache + Tomcat 2集群 负载平衡(Linux环境)

Posted on

Apache + Tomcat 2集群 负载平衡(Linux环境) - Derek.Guo BLOG - BlogJava

Derek.Guo BLOG

BlogJava 首页 新随笔 联系 聚合 管理

随笔-82 评论-31 文章-0 trackbacks-0 Apache + Tomcat/*2集群 负载平衡(Linux环境)

Apache + Tomcat/*2集群 负载平衡(Linux环境)

说明:一台apache主机,两台tomcat主机

安装JDK、安装Apache、安装Tomcat、配置Apache代理、配置Tomcat集群

一、安装JDK(所有运行Tomcat主机,即web服务器) 1.下载JDK的bin包,如jdk-1_5_0_02-linux-i586.rpm.bin ,给其添加执行权限,执行/#./jdk-1_5_0_02-linux-i586.rpm.bin , 在

当前目录生成rpm安装包,同样给其添加执行权限。 再执行 /#rpm -ivh jdk-1_5_0_02-linux-i586.rpm 出现安装协议 按接受

即可。 2.设置环境变量 /#vi /etc/profile 在其最后加入 JAVA_HOME =/ usr / java / jdk1. 5 .0_02 CLASSPATH = .:$JAVA_HOME / lib:$JAVA_HOME / jre / lib PATH = $PATH:$JAVA_HOME / bin:$JAVA_HOME / jre / bin export JAVA_HOME CLASSPATH PATH

 保存退出

3.要使JDK在所有的用户中使用,可以这样:vi /etc/profile.d/java.sh在新的java.sh中输入以下内容: /#set java environment JAVA_HOME=/usr/java/jdk1.5.0_02 CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export JAVA_HOME CLASSPATH PATH 保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh

二、安装Apache(访问代理主机) 1.下载apache源代码 http://archive.apache.org/dist/httpd/httpd-2.2.2.tar.gz

解压缩 tar fvxz httpd-2.2.2.tar.gz

2.进入解压后的目录。进行配置: . / configure -- prefix =/ usr / apache -- enable - module = most -- enable - proxy -- enable - proxy - ajp -- enable - forward -- enable - proxy - connect -- enable - proxy - http -- enable - so -- enable - deflate -- enable - headers -- enable - include

上面的配置,用到了其他一些模块,说不定以后会用到,如支持ssi的include模块。

3.编译(编译如果不成功,确认一下你的linux是否安装有编译所需要的c环境和其他需要的类库) make

4.安装 make install

5.进入/usr/apache目录,运行apache ./apachectl -k start

  运行apache后,浏览一下是否运行正常。

关闭apache ./apachectl -k stop

6.把apache作为linux的启动就运行服务程序 执行如下操作:cp /usr/apache/bin/apachectl /etc/rc.d/init.d/httpd 确认linux以前安装的httpd(apache)不需要了,你可覆盖掉以前apache的httpd文件。 chkconfig --add httpd 运行linux的setup,把httpd服务默认设定为自动运行。 到现在,你就可用另一种方式来启动、关闭apache了。如service httpd start

三、安装tomcat(Web服务器) 1.下载jakarta-tomcat-5.5.20.tar.gz tar zxf jakarta-tomcat-5.5.20.tar.gz 解压文件 (如解压到/usr/local/) 2.设置环境变量 /#vi /etc/profile 添加 CATALINA_HOME=/usr/local/jakarta-tomcat-5.5.30 export CATALINA_HOME 保存退出

3.修改JVM内存:/bin/catalina.sh 文件
    在下/# ----- Execute The Requested Command -----------------
        /# Bugzilla 37848: only output this if we have a TTY
          if [ $have_tty -eq 1 ]; then
             echo "Using CATALINA_BASE:   $CATALINA_BASE"
             echo "Using CATALINA_HOME:   $CATALINA_HOME"
             echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
            if [ "$1" = "debug" -o "$1" = "javac" ] ; then
                echo "Using JAVA_HOME:       $JAVA_HOME"
            else
               echo "Using JRE_HOME:       $JRE_HOME"
            fi
           fi
        添加以下内容:
            CATALINA_OPTS = " $CATALINA_OPTS -Xms256m -Xmx512m -XX:PermSize=32m  -XX:MaxPermSize=128m $JPDA_OPTS "
            JAVA_OPTS = " $JAVA_OPTS -Djava.awt.headless=true "
            echo  " Using CATALINA_OPTS: $CATALINA_OPTS "
            echo  " Using JAVA_OPTS: $JAVA_OPTS "

4.运行/usr/local/jakarta-tomcat-5.5.30/bin/startup.sh 启动tomcat服务器 测试是否正常

四、配置apache代理(适用mod_proxy_ajp.so) 编辑apache配置文件 /#vi /usr/apache/conf/httpd.conf 1.配置proxy_ajp /#加载解析模块(windows下,或linux采用动态加载模式下需配置。前面我们的linux编译时把下面的模块嵌入到了apache中

   ,所以不用再加载)

LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 2.配置文件添加 ProxyPass / balancer: // tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=on timeout=5 maxattempts = 3 ProxyPassReverse / balancer: // tomcatcluster/ < Proxy balancer: // tomcatcluster > BalancerMember ajp: // 192.168.40.15:8009 smax=2 loadfactor=1 route=tomca t1 BalancerMember ajp: // 192.168.71.106:8009 smax=2 loadfactor=2 route=tomc at2 </ Proxy >

    以上说明请参见mod_proxy中文手册 [http://www.6bee.com/tech/ApacheMenu/mod/mod_proxy.html](http://www.6bee.com/tech/ApacheMenu/mod/mod_proxy.html)
3.其他说明

1、apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的

2.0.58版本。 proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹

配(即还不能定义到只对jsp文件起作用)。

2、因为proxy_ajp的配置,还不支持对文件名称的pattern模式匹配,所以你要特别注意: ——尽量把jsp和静态文件和图片路径分不同的目录来管理; ——对于静态文件和图片路径,如/images,你可用“ProxyPass /images !”来禁止ProxyPass,从而来让apache来直接处理图片的请

求。 ——关于apache的ssi(即shtml,include)与tomcat的集成时,shtml文件不能处于ProxyPass的控制下(即不能在ProxyPass目录)

,而shtml调用的jsp须在ProxyPass有效控制下;

五、配置Tomcat负载均衡、集群 1.修改tomcat 的 conf/server.xml 的
去掉注释 jvmRoute是tomcat路由标示,由此区分两台tomcat主机,那么第二台就改为 加上注释

2.修改tomcat 的 conf/server.xml 的<Connector> 
去掉注释<Connector port="8009"
           enableLookups="false" redirectPort="8443" debug="0"
           protocol="AJP/1.3" />   

3.修改tomcat 的 conf/server.xml 的<Cluster>   
<!--  
     < Cluster className = " org.apache.catalina.cluster.tcp.SimpleTcpCluster "
             managerClassName = " org.apache.catalina.cluster.session.DeltaManager "
             expireSessionsOnShutdown = " false "
             useDirtyFlag = " true "
             notifyListenersOnReplication = " true " >
         < Membership 
            className = " org.apache.catalina.cluster.mcast.McastService "
            mcastAddr = " 228.0.0.4 "
            mcastPort = " 45564 "
            mcastFrequency = " 500 "
            mcastDropTime = " 3000 " />
         < Receiver 
            className = " org.apache.catalina.cluster.tcp.ReplicationListener "
            tcpListenAddress = " auto "
            tcpListenPort = " 4001 "
            tcpSelectorTimeout = " 100 "
            tcpThreadCount = " 6 " />
         < Sender
            className = " org.apache.catalina.cluster.tcp.ReplicationTransmitter "
            replicationMode = " pooled "
            ackTimeout = " 5000 " />
         < Valve className = " org.apache.catalina.cluster.tcp.ReplicationValve "
               filter = " ./*\.gif;./*\.js;./*\.jpg;./*\.png;./*\.htm;./*\.html;./*\.css;./*\.txt; " />

         < Deployer className = " org.apache.catalina.cluster.deploy.FarmWarDeployer "
                  tempDir = " /tmp/war-temp/ "
                  deployDir = " /tmp/war-deploy/ "
                  watchDir = " /tmp/war-listen/ "
                  watchEnabled = " false " />

         < ClusterListener className = " org.apache.catalina.cluster.session.ClusterSessionListener " />
     </ Cluster >
     -->

把上面的注释拿掉 就ok 了!

4.在每个webapps应用中,修改web.xml文件 添加元素 最后完工,重启tomcat,apahce测试平衡负载,新建jsp页面 <% Runtime lRuntime = Runtime.getRuntime(); out.println("/// BEGIN MEMORY STATISTICS ///
"); out.println("Free Memory: "+lRuntime.freeMemory()/1024/1024+"M
"); out.println("Max Memory: "+lRuntime.maxMemory()/1024/1024+"M
"); out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"M
"); out.println("Available Processors : "+lRuntime.availableProcessors()+"
"); out.println("/// END MEMORY STATISTICS ///"); %>
<%= request.getSession().getId() %> 放入到两台tomcat的ROOT目录中测试 再测试集群(session复制) posted on 2006-11-15 11:06 Derek.Guo 阅读(3196) 评论(0) 编辑 收藏 所属分类: Linux/Unix

新用户注册 刷新评论列表

找优秀程序员,就在博客园 IT新闻: · 开源Tizen系统视频泄露 外观似诺基亚MeeGo · Opera推出电视应用商店 提供HTML5应用 · CES 2012 开展前演讲:电子设备消费将达 1 万亿美元 · 分析师称苹果借转售NAND闪存获数十亿美元利润 · 爱创会:火花,火焰,火光 博客园 博问 IT新闻 Java程序员招聘 标题 请输入标题 姓名 请输入你的姓名 主页 请输入验证码 验证码 /* 内容(请不要发表任何与政治相关的内容) 请输入评论内容 Remember Me? 登录 [使用Ctrl+Enter键可以直接提交] 推荐职位: · 北京C++游戏服务端研发工程师(武神世纪网络) · 知识库技术编辑(博客园) · 北京Web系统工程师(嘉康利中国) · .NET 高级软件开发工程师(5173.com) · 中高级.NET程序员(沪江网) · 石家庄高级.NET工程师(月薪6K-8K)(盛安德科技)

博客园首页随笔: · 再论 Time stamp counter · 我在ZZ这八年 · 写在2012里的2011总结 · 高效程序员秘籍(8):养成使用网络笔记本、网络文件同步工具的习惯 · Ext.get()与Ext.fly()之区别 知识库: · 持续集成之“Everything is code” · 持续集成之“软件自我识别” · 持续集成之戏说Check-in Dance · 什么是闭包,我的理解 · 什么是闭包(Closure)? 网站导航:

博客园 IT新闻 知识库 C++博客 程序员招聘 管理 相关文章:

<2006年11月>日一二三四五六293031123456789101112131415161718192021222324252627282930123456789

留言簿(7)

随笔分类(80)

技术网站

积分与排名

  • 积分 - 107622
  • 排名 - 186

最新随笔

最新评论

阅读排行榜

MSN:envoydada@hotmail.com QQ:34935442

ArmstrongNumber

Posted on

ArmstrongNumber

Algorithm Gossip: 阿姆斯壮数

说明

在三位的整数中,例如153可以满足13 + 53 + 33 = 153,这样的数称之为Armstrong数,试写出一程式找出所有的三位数Armstrong数。

解法

Armstrong数的寻找,其实就是在问如何将一个数字分解为个位数、十位数、百位数......,这只要使用除法与余数运算就可以了,例如输入 input为abc,则: a = input / 100 b = (input%100) / 10 c = input % 10

实作

  • C /#include /#include /#include int main(void) { int a, b, c; int input; printf("寻找Armstrong数:\n"); for(input = 100; input <= 999; input++) { a = input / 100; b = (input % 100) / 10; c = input % 10; if(a/a/a + b/b/b + c/c/c == input) printf("%d ", input); } printf("\n"); return 0; }

  • Java public class Armstrong { public static void main(String[] args) { System.out.println("寻找Armstrong数:"); for(int i = 100; i <= 999; i++) { int a = i / 100; int b = (i % 100) / 10; int c = i % 10; if(a/a/a + b/b/b + c/c/c == i) System.out.print(i + " "); } System.out.println(); } }

BigNumber

Posted on

BigNumber

[Algorithm Gossip: 超长整数运算(大数运算)]

说明

基于记忆体的有效运用,程式语言中规定了各种不同的资料型态,也因此变数所可以表达的最大整数受到限制,例如123456789123456789这样的 整数就不可能储存在long变数中(例如C/C++等),我们称这为long数,这边翻为超长整数(避免与资料型态的长整数翻译混淆),或俗称大数运算。

解法

一个变数无法表示超长整数,则就使用多个变数,当然这使用阵列最为方便,假设程式语言的最大资料型态可以储存至65535的数好了,为了计算方便及符合使用十进位制的习惯,让每一个阵列元素可以储存四个位数,也就是0到9999的数,例如: 大数运算 很多人问到如何计算像50!这样的问题,解法就是使用程式中的乘法函式,至于要算到多大,就看需求了。 如果您使用的是Java,那么在java.lang下有BigInteger与BigDecimal可以直接进行大数运算。 由于使用阵列来储存数值,关于数值在运算时的加减乘除等各种运算、位数的进位或借位就必须自行定义,加、减、乘都是由低位数开始运算,而除法则是由高位数开始运算,这边直接提供加减乘除运算的函式供作参考,以下的N为阵列长度。

实作

  • C void add(int /a, int /b, int /c) { int i, carry = 0; for(i = N - 1; i >= 0; i--) { c[i] = a[i] + b[i] + carry; if(c[i] < 10000) carry = 0; else { // 进位 c[i] = c[i] - 10000; carry = 1; } } } void sub(int /a, int /b, int /c) { int i, borrow = 0; for(i = N - 1; i >= 0; i--) { c[i] = a[i] - b[i] - borrow; if(c[i] >= 0) borrow = 0; else { // 借位 c[i] = c[i] + 10000; borrow = 1; } } } void mul(int /a, int b, int /c) { // b 为乘数 int i, tmp, carry = 0; for(i = N - 1; i >=0; i--) { tmp = a[i] / b + carry; c[i] = tmp % 10000; carry = tmp / 10000; } } void div(int /a, int b, int /c) { // b 为除数 int i, tmp, remain = 0; for(i = 0; i < N; i++) { tmp = a[i] + remain; c[i] = tmp / b; remain = (tmp % b) / 10000; } }

  • Java public class BigNumber { public static int[] add(int[] a, int[] b) { int carry = 0; int[] c = new int[a.length]; for(int i = a.length - 1; i >= 0; i--) { c[i] = a[i] + b[i] + carry; if(c[i] < 10000) carry = 0; else { // 进位 c[i] = c[i] - 10000; carry = 1; } } return c; } public static int[] sub(int[] a, int[] b) { int borrow = 0; int[] c = new int[a.length]; for(int i = a.length - 1; i >= 0; i--) { c[i] = a[i] - b[i] - borrow; if(c[i] >= 0) borrow = 0; else { // 借位 c[i] = c[i] + 10000; borrow = 1; } } return c; } public static int[] mul(int[] a, int b) { // b 为乘数 int carry = 0; int[] c = new int[a.length]; for(int i = a.length - 1; i >=0; i--) { int tmp = a[i] / b + carry; c[i] = tmp % 10000; carry = tmp / 10000; } return c; } public static int[] div(int[] a, int b) { // b 为除数 int remain = 0; int[] c = new int[a.length]; for(int i = 0; i < a.length; i++) { int tmp = a[i] + remain; c[i] = tmp / b; remain = (tmp % b) / 10000; } return c; } public static void main(String[] args) { int[] a = {1234, 5678, 9910, 1923, 1124}; int[] b = {1234, 5678, 9910, 1923, 1124}; int[] c = BigNumber.add(a, b); for(int i = 0; i < c.length; i++) { System.out.print(c[i]); } System.out.println(); } }