Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359205
  • 博文数量: 15
  • 博客积分: 10020
  • 博客等级: 上将
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-17 20:02
文章分类

全部博文(15)

文章存档

2008年(15)

我的朋友

分类:

2008-03-13 03:59:00

Matlab常见问题汇总:

 

1. 安装完成后启动就关闭:

解决:Matlab在运算过程中要使用CPU的数学运算模块,Matlab默认的CPUIntel的,所以Matlab采用的是Intel的数学运算指令集。如果使用的是AMD CPU,由于数学运算指令集的不同,那么在Matlab安装完成后还要做以下几个步骤:先确认是否存在一个叫做atlas_Athlon的动态链接库文件,windows下就是$MATLABROOT\bin\win32\atlas_Athlon.dllLinux或者Unix下存不存在这个问题我还不清楚,至少Matlab2007aLinux下好像没有这个问题。然后win+pause打开系统属性,在高级中点环境变量,在系统变量中点击新建,变量名是BLAS_VERSION,变量值是atlas_Athlon.dll的完整路径。

 

2. Matlab java.lang.OutOfMemoryError

解决:这个问题是因为Matlab自带有jre,当MatlabGUI方式启动时,它实际上是运行在自带的jre环境里。我们都知道,jre有个运行时选项Xmx可以用来指定jre所能够使用的最大heap spaceOK,问题就在这里了。那么怎么来修改jre的这个选项值来让它使用更大的heap space呢?你需要在$MATLABROOT\bin\$ARCH下自己新建一个文件java.opts,顾名思义,这个文件可以用来设置jre的各种运行时参数,在java.opts中加入-Xmx24000000(笔者机器32G内存,设置Matlab最大使用24G)后保存。可见,这个文件中对jre选项的书写格式和java的命令行格式是一样的。设置完成后,打开Matlab,输入java.lang.Runtime.getRuntime.maxMemory来查看max heap space的值是否发生了改变。如果不知道$MATLABROOT在什么位置,请在Matlab中输入matlabroot指令查看。

 

3. MatlabJVM损坏

解决:Matlab运行的好好的,可不知道什么人无意的更改了Matlab自带的JRE,造成Matlab不能正常启动了。怎么办?好办,重新下载一个JRE,并把它拷贝到$MATLABROOT/sys/java/$ARCH/中替换掉原来的JRE目录就OK了。如果你的JRE目录名字和原来的不同,那还要更改环境变量MATLAB_JAVA

 

4. Matlab的字体崩溃问题

解决:Matlab中涉及字体的操作总是令Matlab崩溃,这个问题很可能是因为你的系统中含有以中文名字命名的字体文件造成的,改成英文就会得到解决。

 

5. 不能连接license server

解决:如果你的Matlab运行在Linux等系统下,并且得到如下错误提示:

Warning: Unable to open display, MATLAB is starting without a display.
You will not be able to display graphics on the screen.
License checkout failed.
License Manager Error -95
MATLAB is unable to connect to the license server.
Make sure you can resolve the hostname of your machine.
If you are unable to resolve the hostname, contact your System Administrator.

Troubleshoot this issue by visiting:


Diagnostic Information:
Feature: MATLAB
License path: /usr/local/matlab/etc/license.dat:/usr/local/matlab/etc/*.lic:
FLEXnet Licensing error: -95,378. System Error: 115

请执行$MATLABROOT/etc/lmstart –l /tmp/xxx启动license manager,然后再启动Matlab

 

个人对Matlab也有疑问,如果只是使用Matlab的命令行模式,并不启动jvm(matlab -nojvm -nodisplay -nodesktop -nosplash)Matlab是否可以使用系统的所有可用内存?对Matlab的机制了解不多,哪位高人指导一下啊。

阅读(12340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~