2010年5月21日星期五

JVM 设置

eclipse根目录下面的 eclipse.ini 配置 从网上搜了些资料

-vmargs:说明后面是VM的参数
-Xms128m:虚拟机占用系统的最小内存
-Xmx512m:虚拟机占用系统的最大内存的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize
          必须大于25.6M
-XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小,
               堆空间剩余小于5%就会警告,建议把这个稍微设
               大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大堆大小。这个也适当大些

把里面的参数改为
-vmargs  
-Xms128M  
-Xmx512M  
-XX:PermSize=128M  
-XX:MaxPermSize=256M
问题解决!

从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。理由如下:
PermSize 和MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可 以减少每次扩大PermSize带来的性能损失。

1、PermGen space简介
  
  PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。
  
  说说为什么会内存益出:
  (1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。
  (2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS 的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
  
  如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

解决方法: 手动设置MaxPermSize大小
  
  修改TOMCAT_HOME/bin/catalina.bat,在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行:
   JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
  建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存

1。参数的含义

-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表 的含义。
堆(Heap)和非堆(Non-heap)内存
按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM 会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由 XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间 有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G- 3G),而64bit以上的处理器就不会有限制了。

2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动?

通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种:堆内存和非堆内存,另外JVM最大内存首先取决于实际的物理内存和操作系统。所 以说设置VM参数导致程序无法启动主要有以下几种原因:
1) 参数中-Xms的值大于-Xmx,或者-XX:PermSize的值大于-XX:MaxPermSize;
2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。说到实际物理 内存这里需要说明一点的是,如果你的内存是1024MB,但实际系统中用到的并不可能是1024MB,因为有一部分被硬件占用了。

3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置?
那为什么同样的参数在快捷方式或者命令行中有效而在eclipse.ini文件中是无效的呢?这是因为我们没有遵守eclipse.ini文件的设置规 则:
参数形如“项 值”这种形式,中间有空格的需要换行书写,如果值中有空格的需要用双引号包括起来。比如我们使用-vm C:\Java\jre1.6.0\bin\javaw.exe参数设置虚拟机,在eclipse.ini文件中要写成这样:
-vm
C:\Java\jre1.6.0\bin\javaw.exe
按照上面所说的,最后参数在eclipse.ini中可以写成这个样子:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
实际运行的结果可以通过Eclipse中“Help”-“About Eclipse SDK”窗口里面的“Configuration Details”按钮进行查看。
另外需要说明的是,Eclipse压缩包中自带的eclipse.ini文件内容是这样的:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
其中–launcher.XXMaxPermSize(注意最前面是两个连接线)跟-XX:MaxPermSize参 数的含义基本是一样的,我觉得唯一的区别就是前者是eclipse.exe启动的时候设置的参数,而后者是eclipse所使用的JVM中的参数。其实二 者设置一个就可以了,所以这里可以把–launcher.XXMaxPermSize和下一行使用#注释掉。

3. 其他的启动参数。 如果你有一个双核的CPU,也许可以尝试这个参数:

-XX:+UseParallelGC

让GC可以更快的执行。(只是JDK 5里对GC新增加的参数)

补充:

可以在myelipse里选中相应的服务器比如tomcat5,展开里面的JDK子项页面,来增加服务器启动的 JVM参数设置:

-Xms128m
-Xmx256m
-XX:PermSize=128M
-XX:MaxNewSize=256m
-XX:MaxPermSize=256m


2010年5月19日星期三

PSTOOLS 好东西

pstools一组好用的命令行小工具
1)psexec
debug级 cmd 命令 psexec -i -s cmd

usage: psexec \computer [-u username [-p password] [-c [-f] [-i][-d] program [arguments]

psexec是一个远程执行工具,你可以像使用telnet一样使用它。
它的使用格式为:
psexec \远程机器ip [-u username [-p password] [-c [-f] [-i][-d] program [arguments]
它的参数有:
-u后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)
-d不等待程序执行完就返回,(比如要让远程机器运行tftp服务端的时候使用,不然psexec命令会一直等待tftp程序结束才会返回)
-i 在远程机器上运行一个名为psexesvc进程,(到底什么用弄不明白)

假设我在远程机器ip有一个账号,账号名是:abc   密码是:123
比如想要用telnet一样在远程系统上执行命令可以打:
psexec \远程机器ip -u abc -p 123 cmd

如果想要远程机器执行本地c:srm.exe文件可以打:
psexec \远程机器ip -u abc -p 123 -c c:srm.exe

如果想要让远程机器执行本地上tftp服务端,(假设tftp服务端在本地c:tftp32.exe),可以打:
psexec \远程机器ip -u abc -p 123 -c c:tftp32.exe -d
(2)psservice
psservice是一个服务管理程序。
它的使用格式为:
psservice [\远程机器ip [-u username] [-p password] <command> <options>
它的参数只有:
-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
它的command有:
query [服务名]:显示某一服务的状态,如不填服务名则显示所有服务的状态。
config <服务名>:显示某一服务的配置。
start <服务名>:启动某一服务。
stop <服务名>:停止某一服务。
testart <服务名>:停止某一服务并重新启动它。
pause <服务名>:暂停某一服务。
cont <服务名>:恢复暂停的服务。
depend <服务名>:显示某一服务依存关系。
find <服务名>:在网络种搜寻指定的服务。

比如你想查看在远程机器上的telnet服务的状态可以打:
psservice \远程机器ip query tlntsvr         (tlntsvr为telnet服务的服务名)
比如你查看远程机器上的telnet服务的配置可以打:
psservice \远程机器ip config tlntsvr
比如你想启动远程机器上的telnet服务可以打:
psservice \远程机器ip start tlntsvr
其他用法以此类推。
(3)pssuspend
pssuspend是一个暂时停止进程的软件
它的使用格式为:
pssuspend [-r] [\远程机器ip [-u username] [-p password] <process name | process id>
它有三个参数:
-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-r:恢复进程。

比如要暂时停止一个pid号为999,名称为srm.exe的进程可以打:
pssuspend \远程机器ip 999     或     pssuspend \远程机器ip srm
如果想要恢复它就可以打pssuspend -r \远程机器ip 999   或   pssuspend -r \远程机器ip srm
(4)psinfo
psinfo是一个搜集机器软硬件信息的工具,它可以获得操作系统信息,硬件信息和软件信息。
它的使用格式为:
psinfo [-h] [-s] [-d] [-c] [\远程机器ip [-u username [-p password]]
它的参数有:
-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-h:是显示它安装了哪些补丁包
-s:是显示它装了哪些软件
-d:是显示磁盘信息。

比如我只想看远程机器的软硬件信息和只用打:
psinfo \远程机器ip
假如我还想看看它装了哪些补丁包可以打
psinfo -h \远程机器ip
假如我还想看看它磁盘信息可以打:
psinfo -d \远程机器ip
如果我想看它装了哪些软件可以打:
psinfo -s \远程机器ip
简单吧.
(5)pslist
pslist是一个查看进程的程序。
它的使用格式为:
pslist [-d] [-m] [-x][-t][-s [n] [-r n]   [\远程机器ip [-u username] [-p password] [name | pid]
它的参数有:
-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-s:是使用任务管理器模式实时查看进程,可以按ESC键退出。
-r <秒数>:是和-s连用的一个参数,它用来指定任务管理器模式是的刷新间隔。(默认的刷新间隔为1秒)
-d:示各个进程的cpu使用信息。
-m:显示各个进程的存储器使用信息。
-x:非常详细显示进程的所有信息。
-t:以树型方式显示进程。

比如要查看远程机器ip上的进程的cpu使用信息可以打:
pslist -d \远程机器ip
比如要查看一个pid号为999,名称为srm.exe进程的存储器使用信息可以打:
pslist -m \远程机器ip 999   或 pslist -m \远程机器ip srm
比如要以任务管理器模式实时查看61.12.23.4上进程情况,并且刷新间隔为3秒可以打:
pslist -s -n 3 \远程机器ip
(6)psuptime
psuptime是一个了解远程机器运行了多久的命令。
使用它只需要打:psuptime \远程机器ip
(7)psshutdown
psshutdown是一个远程关机命令。
它的使用格式为:
psshutdown [-s | -r | -k [-t nn][-m "消息"][-f] -a | -l | -o] [\远程机器ip]

它的参数有:
-a:取消以前执行的关机指令。
-t:离关机还有多少秒。(默认是20秒)
-s:关闭机器。
-m:是要显示的信息。
-f:是关机是不保存运行的程序。
-r:表示重启。
-l:表示锁定电脑。
-o:表示注销用户。

比如我想让远程机器30秒后关闭并显示(要关机了,请保存文件)则打:
psshutdown -t 30 -s -m “要关机了,请保存文件” \远程机器ip
如果是要重起的话打:
psshutdown -t 30 -m “要关机了,请保存文件” -r \远程机器ip
如果要取消刚才的指令可以打:
psshutdown -a \远程机器ip
其他参数以此类推。
(8)psfile
psfile是一个显示机器上的会话和有什么文件被网络中的用户的打开的命令。
它的使用格式为:
psfile [\远程机器ip [-u Username [-p Password]] [Id | path] [-c]
它的参数有:
-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-c:关闭会话或文件

比如我想看看远程机器上的会话和被远程用户打开的文件可以打:
psfile \远程机器ip
接着就会显示
[33] C:WINNT
    User:   ADMINISTRATOR
    Locks:   0
    Access: Read
[63] PIPEsrvsvc
    User:   ADMINISTRATOR
    Locks:   0
    Access: Read Write
接着我想关闭id为33,路径为c:winnt的这个会话可以打
psfile \远程机器ip 33 -c     或     psfile \远程机器ip c:winnt -c
(9)psloggedon
psloggedon是一个显示目前谁登陆的机器的命令。
它的参数只有:
-l只显示本地登陆用户而不显示其它的网络登陆用户
-x不显示登陆时间
比如说要显示远程机器现在登陆的用户可以打:
psloggedon \远程机器ip
(10)psgetsid
psgetsid是一个远程获取账号sid信息的工具。
它的使用格式为:
psgetsid [\远程机器ip [-u username [-p password]] [account]
它的参数有
-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)

比如要看远程机器上账号名为abc的sid信息可以打:
psgetsid \远程机器ip abc
(11)pskill
pskill是一个杀除进程的程序。
它的使用格式为:
pskill [\远程机器ip [-u username] [-p password] <process name | process id>

比如要杀除一个pid号为999,名称为srm.exe的进程可以打:
pskill \远程机器ip 999     或     pskill \远程机器ip srm
(12)psloglist
psloglist
psloglist是一个查看系统事件记录的程序。
它的使用格式为:
psloglist [\远程机器ip [-u username [-p password]] [-s [-t delimiter] [-n # | -d #][-c][-x][-r][-a mm/dd/yy][-b mm/dd/yy][-f filter] [-l event log file] <eventlog>
它的参数有:
-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。
-c:显示事件之后清理事件记录
-l <事件记录文件名>:用于查看事件记录文件
-n <n>:只显示最近的n条系统事件记录。
-d <n>:只显示n天以前的系统事件记录
-a mm/dd/yy:显示mm/dd/yy以后的系统事件记录
-b mm/dd/yy:显示mm/dd/yy以前的系统事件记录
-f <事件类型>:只显示指定的事件类型的系统事件记录。
-x:显示事件数据代码
-r:从旧到新排列(如不加则默认是从新到旧排列)
-s:以一个事件为一行的格式显示,中间默认以逗号格开各个信息。
-t <字符>:这个参数和-s连用,以来改变-s中默认的逗号。

如果我想看远程机器的系统事件记录只用打:
psloglist \远程机器ip 123
比如我想看最近的10条error类型的记录可以打:
psloglist \远程机器ip -n 10 -f error


2010年5月16日星期日

《黑客帝国》与佛陀

转载 http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=922994&PostID=21182576


你有没有看著这世界,

惊叹它的完美和造物主的天才呢?
亿万人口浑浑噩噩过活,完全无知。──《骇客任务》对白



  很多的同学在争论ZINE到底是不是真实世界,我的理解,不是.或者说根本没有真实世界,或者说所有世界都是真实的.
     ZINE只是一个另外一个系统,因为Matrix不完美,有1%人能识别出世界是虚假的,如同我们世界中的庄子,他在感叹到底梦中是真实的还是现实是真实的,这类人被放逐到zine了,可是zine是真实的吗?非也;其中韵味从matrix中寻找

 


  

    电影” Matrix ”《骇客任务》,第二集於 2003 年上演,我现在讲的是在 1999 年的第一集。这部电影我已在有线电视上看过二、三次,但是精彩的对话太多,来不及抄下来,只好租 DVD 回家慢慢欣赏。这部电影真的很难得,即使佛教界自己筹资,拍一部电影来介绍佛法,恐怕也很难比《骇客任务》拍得更好。它从头到尾都没有佛学名相,也没有佛像和宗教人物,讲的却是根本的佛法;虽然没有讲得很彻底,但只要稍加补充说明,就是很好的佛学教材。


  

    故事是说,二十一世纪初,人工智慧的技术有重大的突破,电脑能够自行学习,代替人类做很多事,但是电脑却发展出自我意识,不愿再听命於人类。人类企图关闭电源,结束电脑的自我意识,电脑却抢先一步宰制人类的命运,培植人类做为电力的来源。每一个人从出生开始,都被放在一个个的电池槽里,全身插满了管线,电脑建构一个称之为「母体」( Matrix )的庞大系统,产生虚拟实境的讯号,欺骗人类的大脑,让人以为自己是生活在二十世纪末的社会里。只有少数反抗军没有被电脑奴役,他们扮演骇客( Hakers ),不断侵入母体,企图拯救被奴役的人们。


  

    主角尼欧( Neo )被解放之後,离开电池槽,来到骇客的太空船。为了让他了解什么叫做「母体」,他再度进入虚拟实境。在虚拟实境中,尼欧摸摸高背椅,问:「这都不是真的?」反抗军领袖莫斐斯( Morpheus )答:「什么是真实?真实该怎么定义?如果你指的是触觉、嗅觉、味觉和视觉,那全是大脑接收的电子讯号。你以为的真实世界,其实是互动的虚拟世界──我们所谓的『母体』。你一直活在梦世界,尼欧!」


  

    这段话揭露了一个惊人的事实:大脑位於身内,为头颅、血肉、皮肤…等组织所包裹,根本接触不到外境!既然接触不到外境,我们却看得到、听得到、嗅得到、尝得到、摸得到,这真是奇怪的事。以视觉来说,光线只能射到眼球感知光线的部位,再进去全是光线照不到的内部组织,现代生理学告诉我们,是视神经系统负起传导的功能,让大脑以为自己能看到外境。视觉如此,听觉、嗅觉、味觉、触觉也都是这样,外五尘(色、声、香、味、触)无法进入大脑,必须透过神经系统才能传送到大脑。既然大脑需要的只是讯号,并不是外境;也许有一天,我们可以模拟神经系统的讯号,使大脑感受到虚拟的五尘境界。


  

如果真有那么一天,人类就不必那么辛苦的追求物理世界的享乐了。没有余钱到国外渡假的打工仔,只要在身上插上讯号线,预先选好想去的地方,由电脑产生虚拟实境,效果和真的出国渡假并没有两样。电脑甚至可以模拟你最「哈」的电影明星,让你在虚拟实境中,与她(他)相会。


  

    毛斯( Mouse )问尼欧:「早餐〔麦片的品牌〕麦片你吃过吗?」「没有。」另一位骇客 Switch 答:「实际上谁都没吃过。」这段话很有意思,和禅师所说的:「终日吃饭,不曾咬著一粒米」,倒有九分神似。毛斯又说:「一点也没错!这不禁令人纳闷,电脑怎么知道麦片的味道?也许它们搞错了,也许麦片的味道其实很像鲔鱼三明治。我开始怀疑,就拿鸡肉来说,它们搞不清鸡肉的味道,所以和很多肉都像,也许……」
    小时候我曾经想过类似的问题:我们用「酸、甜、苦、辣」等语言文字,来形容食物的滋味,可是天晓得,也许这个人的酸,是另一个人的甜,说不定这是某些人特别偏好渍酸食品的原因。譬如大部分的色盲,他们一样能分辨红绿灯,单独的颜色也不会说错,只有特殊设计的图形,才会说错;这证明色盲所说的青黄赤白,虽然和一般人一样,但所看到的颜色其实是不同的。根据脑神经医学的记载,曾有一个画家,发生车祸之後,所看到的东西全部变成黑白的。神经所传达的讯号,不等於实境,因此会因为神经系统和大脑的各别差异,使得我们所感觉到的外境也有所不同。譬如电视和摄影机的机型不同,或者有新旧、故障、传输障碍等因素,所摄取的影像固然一样,显示出来的画质,却有所差异。


  

    莫斐斯说:「你曾做过一种梦,彷佛实实在在的发生过?要是你醒不过来呢?你该怎么分辨梦世界和真实世界?」这又是另一个话题了。前面是说神经系统传达外境的讯号给大脑,讯号不等於外境,大脑所感知的外境,其实就是这些讯号。可是当我们在熟睡时,五官的分辨功能暂时停顿,根本就没有外境与之对应,为什么会有梦境?


  

    梦中的见闻觉知,显然不是神经系统的讯号所能解释的,它是独立於外五尘而存在的。梦境大都很真实,很少人能察觉到自己正在作梦,可见梦境中的见闻觉知,和清醒时的见闻觉知,并没有明显的差别。我们平常只觉得梦境很像「真实」(清醒时所觉知的五尘境界),反过来说「真实」也很像梦境,全部不是实境、不是客观存在的外五尘,都是透过某种机制而模拟的;就像电视、电影的声光,都是经过转换的。这种模拟机制,无论是在梦境或清醒时,都是持续的运作。清醒的时候,它根据五官的神经系统所传递的讯号而模拟;梦境当中,则独立作用。


  

    如果你只在电视上看过爱因斯坦,你不会说你看过爱因斯坦,照这个标准来说,你不只没看过爱因斯坦,你也没看过你的父母、你的小孩──你根本没看过任何人。乃至欲界的贪爱、两性的燕好,本质上与梦境并无不同,仍然是透过某种机制而模拟的;翻云覆雨拥抱了半天,竟然没有碰到任何人,我们就是这样活在人生大梦里!


  

    那个能够模拟世间相的东西,唯识学称之为阿赖耶识,很像电影中的「母体」。「母体无所不在,随处可见,它甚至在这房间。你从窗户外可以看到它,或在电视上也会看到它,上班时感觉它的存在,当你上教堂或纳税时也一样。它是虚拟世界,在你眼前制造假象,蒙蔽真相。」「什么真相?」「你是个奴隶。每个人呱呱落地後,就活在一个没有知觉的牢狱,一个心灵的牢笼。」


  

    对无知的人们而言,母体固然是心灵的牢笼,但反抗军却充分利用母体的特性,甚至仿照母体的模式,自行撰写资料载入程式。资料载入程式可以在虚拟世界中,提供衣服、器材、武器、模拟训练,和反抗军所需的一切。母体的作用广大,不一定是恶,了解真相的人可以将它运用在善的一面。


  

    有的人已经隐隐约约感受到母体的作用,企图将它找出来,可是却找不到,终日寄挂著此事,乃至食不知味,有如行屍走肉──男主角尼欧就是这样。女主角崔尼蒂( Trinity )告诉尼欧:「我知道你来的目的,还有你在做什么。我知道你辗转难眠,每天晚上都独自一个人,坐在电脑前工作。你在找他。我也曾找过同一个人,当他找到我,他说其实我不是在找他,而是在寻找一个答案。有个问题驱使著我们,尼欧!这问题把你带来这里。」这里所谓的「他」,是指莫斐斯,象徵真善知识。尼欧探求真相的心情,十分的渴切,要是没有这种心情,勉强把真相告诉他,他会受不了。


  

    莫斐斯在解放尼欧之前,告诉他:「记住!我只能告诉你真相。」探求真相,解脱烦恼,便是修行的实义,这中间全都是「真」,如果有自欺或欺人的心态,便是背道而驰;但是很多人会因为现实利益,而选择虚假,甚至甘心受他人欺骗。譬如影片中有一个人物塞佛( Cypher ),他被解放之後,感到很痛苦,因为以前他活在花花世界,酒肉美女,尽情享乐,解放之後,只能活在狭窄破旧的太空船里,穿破旧的衣服,吃淡而无味像是浆糊的食品;他厌倦平淡的生活、厌恶与电脑人(电脑人是无明的象徵)对抗,埋怨莫斐斯欺骗他,最後竟背叛反抗军,自愿为电脑提供电源,回到虚幻的花花世界里。


  

    我问一位小朋友:「如果真实平淡无味,像是一坨浆糊,而虚伪却是有声、有色、有享乐,你要选择哪个?」他告诉我:「我宁可选择真实,不然的话,我会有被骗的感觉。」这位小朋友很有智慧,有的人恐怕宁可选择虚伪,譬如那些沈迷於网路游戏的朋友,明知道是假的,还愿意花大把钞票,把时间虚耗在游戏里,就为了提升自己在网路游戏中的等级,以便打败更厉害的怪兽、魔王。还有一些热恋中的朋友,宁愿陶醉於甜蜜的谎言中,不听好友善意的规劝。


  

    同样的事情,也出现在少数修行人身上。修行人追求法界实相,好不容易得到真善知识的帮忙而找到阿赖耶识;然而阿赖耶识虽然是法界实相,却没什么滋味,就像是一坨浆糊,不久之後,他便无法安忍,起心去追求意识变相或神通境界,因而退失真见道位。退失之後,犹自以为更上层楼,反过来诽谤帮他明心的真善知识,甚至破坏菩萨僧团,宛如电影中的塞佛一般。


  

    尼欧在训练程式中和莫斐斯动手过招,挨了几下重击,回到真实世界时,发现嘴角竟然在渗血,他感到很奇怪。 DVD 显示的国语字幕:「我以为这是假的?」莫斐斯答:「你的大脑认为是真的。」「在虚拟世界里死亡,也会死在这里?」「大脑死了,身体也活不了。」这段话很精彩,可惜和原文有些出入。


  

    「你的大脑认为是真的」,原文是” Your mind makes it real. ”,直译为:「你的心使它变成真的」。「大脑死了,身体也活不了」,原文是” The body cannot live without the mind. ”,直译为:「没有心,身体便不能活」。  很多人以为:「心的功能全部在於大脑,大脑就是心,离开了大脑,就没有心」,所以将” mind ”翻译为「大脑」。他们以为精神现象只是身体──特别是大脑──的附属品,照这样的逻辑,人死之後应该一切归於空无,不应该有中阴身,也不应该有未来世;所以这种想法其实是唯物思想、典型的断灭论。我们知道有些人可以在禅定或被催眠中见到自己的前世;既有前世,则知必有後世,由此可知断灭论不符合事实。


  

    在一次的训练课程,莫斐斯和尼欧置身於人潮往来的人行道上,甚至必须和虚拟实境里头的「人群」推挤碰撞,莫斐斯说:「你在虚拟世界看到什么?上班族、教师、律师、木匠……都是我们想拯救的人。目前这些人被系统控制,所以就是我们的敌人。你要了解,许多人不能接受真实世界,更多人已经习惯,非常无望地依赖这系统,愿意誓死保护它。」


  

    已明心的菩萨道行者看到这段话,不知有何滋味?只要我执断除,就可以取证无余涅盘,永离诸苦(涅盘虽然没有滋味,但也没有觉知心,所以不会觉得无聊,更不会生厌);但无余涅盘中无知无觉,没有色身、也没有口舌可以演示法义,根本无法度众生,所以菩萨不能取证无余涅盘,而必须生生世世,不断的变现如梦如幻的五蕴身心,来到如梦如幻的世界,度化如梦如幻的众生(便如电影中的骇客,必须侵入母体,才能解放被奴役的人类)。度众很辛苦,而且人家多半不领情,你想把真相告诉他,救护他出离生死轮回,他却认为你在威胁他的信念和生存环境。「亿万人口浑浑噩噩过活,完全无知。」众生就是这样,为无明业力所牵引,认幻作真,迷失在生死轮回中。


  

    就在莫斐斯讲这些话的时候,迎面走来一位笑容甜美、身材惹火的红衣女郎,尼欧忍不住回头多看她几眼。莫斐斯问道:「你是在听我说话,还是在看那个红衣女郎?」上课不专心、爱看漂亮女生的毛病,被人家当场纠出来,别说尼欧有多难堪了,可是莫斐斯却要他再看一遍。尼欧回头一看,发现原来的红衣少女,已变成一个电脑人,正拿著枪,指著自己的脑袋!


  

    莫斐斯喊「停格」,虚拟实境的人潮和电脑人全停在那里,只剩下莫斐斯和尼欧能够自由活动。他接著说道:「电脑人能在任何软体自由进出,它们化身为任何人,它们无所不在。」前面说过,电脑人是无明的象徵,为什么呢?譬如我们择偶、追求异性,往往从外表的条件来判断,便如尼欧喜欢看漂亮的女生,可是亲密交往之後,她(他)的毛病,诸如占有、操控、吃醋、猜疑、傲慢、刻薄、计较、嫉妒、虚荣……等等,逐一浮现,她(他)的无明和你的无明,内外勾结为患,让你堕入痛苦的深渊,无所逃离。每个人都有心病,平时也许温文有礼,发作起来却很可怕。无明千变万化、神出鬼没,所以在母体内,电脑人所扮演的角色是情治人员,他们没有显赫的地位,却掌握生杀大权,悄悄的掌控众生的身口意行。


  

    电脑人最可怕的,是它动作快,可以躲过连发的子弹,就算被人家打死,借另一个人的身体,马上又活过来。无明也是如此,不但迅如霹雳,而且随时都在作用,当你接触到境界的瞬间,贪、嗔、慢、我爱……等等烦恼,立刻就起现行。娴熟於道共戒的修行人,在无明起现行的当下便能察觉,立刻以见道的智慧,化解无明的现行;但它不是几次智慧的现观就可以断除的,必须经过百千万次不断的对治,才能彻底将它断除,只要一时疏忽或懈怠,立刻被无明业习牵著鼻子走。见道的人尚且如此辛苦,没有能力现观无明如何运作的人,就更别提了;你自以为懂得佛法,境界现前时,还没有搞清楚状况,已被无明生吞入腹。


  

    那些骇客明知道自己身在虚拟世界中,可是看到电脑人还是得溜之大吉。自己和世界都是虚妄,电脑人也是虚妄,怎么会有被电脑人杀死的事?又怎么须要逃呢?如《大宝积经》卷 105 所说:「何处有诸佛,法僧亦复然;父母本自无,阿罗汉空寂;是处无有杀,云何有业果?如幻无所生,诸法性如是。」虚拟世界中,即使有杀人和被杀,也都是幻化,并非实有其事;虽有业报,亦是如梦如幻的业报,与清净本心全不相干。


  

    「你的心使它变成真的」,此处的心,主要是指末那识而言。解脱道的无明,分为「分别我见」和「俱生我见」,见道的人已经亲证「我空」(自己虚妄)和「我所空」(世界虚妄),断分别我见,但末那识仍然无法摆脱无始以来,认妄作真的惯性,此种惯性即是俱生我见,又称为「我执」。俱生我见与末那识相应,微细难断,必须到四果才能断除。以未断俱生我见这一点来说,三果以下的见道者和未见道的人并没有不同,都还有生死的问题。由於这种认妄作真的惯性,如梦如幻的业报,照样能让你害怕、痛苦。


  

    毛斯便是这样,明知道是假的,还要去玩弄取乐,得意洋洋的向尼欧推介他所写的红衣女郎程式,说他可以安排尼欧在虚拟实境中与她相会。面对「电子皮条客」的讥刺,毛斯辩解道:「别管这些伪君子,压抑自己的情欲,就是否定与生俱来的人性。」不只凡夫如此,初见道的人也在所难免;不过见道的人不会讲这种话,因为他已经可以现观:七情六欲的心,是虚幻不实的。毛斯认妄作真的习气很强烈,既然会执著虚假的乐,就一定会执著虚假的苦,所以他後来在虚拟实境中被杀,就真的死了。


  

    尼欧就不一样了!他也在虚拟实境中被杀,却能死而复生,进一步亲眼见到整个虚拟世界,只是一堆电子讯号。他的动作变得比电脑人更快,用一只左手对付电脑人全力的进击,还可以取胜──象徵见道的人,现观无明的起处,到了炉火纯青的地步,无明已经无所能为。尼欧甚至钻入电脑人的身体,把电脑人炸成碎片──象徵他已经粉碎了无明,能够脱离生死轮回──故事到这里也进入尾声。


  

    电影里面还有一些有趣的意象,包括:崔尼蒂料理了四个前来逮捕她的警察、一只虫子从肚脐钻入身体、插满管线的尼欧从白色的黏稠物中挣脱电池槽、尼欧在训练程式中很快的学会武术、祭师( Oracle )对尼欧的演示、电脑人企图打探锡安密码……等等,我不认为它们是单纯的剧情,读者不妨以佛法的知见自行解读看看。


  

    大乘佛法是以证解阿赖耶识为见道,阿赖耶识本体不生不灭,能够圆成世间、出世间一切法,包括器世间、有根身(身体和器官),乃至走路、吃饭、穿衣服……等等。阿赖耶识的作用广大,世间没有任何一个东西,可以和祂相提并论,因此很难找到一个东西来做比喻,《骇客任务》所述的「母体」,是我意外的发现。大家要注意的是,譬喻有它的极限,因此还是有不相同的地方,包括:阿赖耶识是从无始以来就存在的,电影中的「母体」则是电脑创造出来的;而且「母体」只能创造虚拟实境,阿赖耶识却可以圆成世间、出世间的一切法;还有一个很重要的差别──在电影里面,骇客可以在「虚拟世界」和「真实世界」中来回游走,但明心的人永远只能活在虚拟世界中,一旦离开阿赖耶识,就没有「真实世界」可言。


  

    看完这篇文章之後,读者可否告诉我:「了解虚拟实境,但未找到母体的人」,是什么样的人?「找到母体而能驾驭它的人」,是什么样的人?「能完全理解母体,并完全改造它的人」,又是什么样的人?如果您能回答这三个问题,您就知道解脱道和佛菩提道大概的内涵了。



2010年5月14日星期五

鲜为人知:512地震预报成功挽救几百万人生命

前四川地震局综合预报组组长李有才,在汶川大地震两周年到来前夕奋笔疾书,抓紧完成他的著作《解密5.12 汶川八级大地震》。书中透露他三次预测汶川地震,并且报告政府,但是当局不以为然,导致上万人丧生。

李有才表示初稿已经完成,正在做润色修改。他也在联系海内外出版社,并希望能翻译成英文。对于在国内出版的可能性,他表示有难度。

李有才从2003年开始对汶川地震作出了长期,中期和短期预测。短期预测是在汶川大地震发生前一个月。

李有才:「预测非常成功的。长期,中期,短期,都告诉政府了,都告诉国家地震部门了,他们不相信嘛,如果相信的话,这就实现了,就创造了地震预报成功的例子……“擦肩而过”!」

对于自己成功预测地震却没有拯救得了上万同胞的生命,李有才痛心疾首。

李有才:「我从科学角度向他们反映,我没有权利呀。我只有向上反映的权利,我没有指挥向老百姓通知预报的权利。」

唯一让李有才感到一丝欣慰的是,水利部门和紫坪铺水库管理公司的人员听取了他的意见,在地震发生前三个月放掉四分之三的水。否则当地震来临,水坝将承受不住地震压力而崩溃。

李有才:「一场由于洪水引起的大灾难就这样避免了。关于这个事情官方不会做宣传的。宣传这个会引起社会大恐慌的。如果他地震之前不放水的话,由于地震造成大坝破裂引起的洪水灾难,成都上千万人可能不知道要死多少人了。那个大水库离都江堰很近,五分钟整个都江堰就要冲光。」

李有才在书中指出,紫坪铺水库的兴建是整个预测角力的核心所在。早在2002年,也就是水坝动工后一年,李有才写出一篇论文,指出水坝区是最可能发生 7.5 级大地震震中的位置。这篇论文隔年送交国务院、四川省及成都市政府,但是,地震局驳斥说「意见不可接受」。后来证实汶川地震的震央仅距离水库10公里。

除李有才之外,中国还有许多地震专家,事先也向国家提交了四川地震的预测报告,但是政府并未听取他们的意见。汶川大地震之后,官方坚称地震没有任何先兆,无法预测。著名地震预测科学家黄相宁说:「另外汶川地震的时候,我们国家还有近二十个人事前提出不同程度的预测意见,这些人都在地球物理学会天灾预测专业委员会里面,这些人都不是中国地震局的嫡系部队。有些像我们都是地震局的退休人员。另外好多都是民间的从其他角度来研究的。」

黄相宁认为,当今各国政府的地震预防政策存在严重失误,剥夺了民众对于地震可能发生的知情权。

黄相宁:「人类社会的秩序发展,应该首先以捍卫生命为第一,其次才是经济的发展。这是第一点,要做这一点,我就想要提出来,人人都有对居住环境可能发生地震灾变的知情权。我希望联合国和各国政府能够把这个权利给每一个人。」

李有才也认为,中国地震学界的官僚体系,学术腐败,学阀压制,造成世界上最优秀的地震预测人才无法发挥所学,也造成无数的生灵涂炭。

黄相宁警告类似唐山和汶川地震的悲剧在中国最近一两年还会出现。因为现在全球進入了一个巨灾发生时段。而且这个巨灾发生时段今年已经進入了一个高发期。但是人类并未认识到这一点,还在高枕无忧。

2010年5月7日星期五

toonel

终于找到翻墙利器了,hoho,很久没上blogger写东西了,以往都是doc写的.