0
我创建了一个只包含SQL Lite连接的java代码的类。 所以在这里我在Linux操作系统(覆盆子-PI)&窗口比我看到的Linux是Windows的比较采取更多的内存执行该程序Rasberry-pi比Windows有更多的内存
内存如下所示为Linux
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3337 root 20 0 744m 179m 10m S 0.0 19.4 0:07.79 dbtest.java
的Windows需要18 MB与连接代码
&这里如果我评论连接的代码,那么它需要较少的内存
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3337 root 20 0 596m 17m 10m S 0.0 19.4 0:07.79 dbtest.java
Windows需要9 MB没有连接代码
我想知道为什么Linux正在采取安静的记忆,如果有人知道请看看我的问题。
package test;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBTest {
public static void main(String[] args) {
dbtest();
while (true) {
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static boolean dbtest() {
Connection conn = null;
try {
System.out.println("Before ...... Class.forname");
Class.forName("org.sqlite.JDBC");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
String dbURL = "jdbc:sqlite:product.db";
conn = DriverManager.getConnection(dbURL);
if (conn != null) {
System.out.println("Connected to the database");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
System.out.println("Driver name: " + dm.getDriverName());
System.out.println("Driver version: " + dm.getDriverVersion());
System.out.println("Product name: "
+ dm.getDatabaseProductName());
System.out.println("Product version: "
+ dm.getDatabaseProductVersion());
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return false;
}
}
的JVM? https://docs.oracle.com/cd/E21764_01/web.1111/e13814/jvm_tuning.htm#PERFM155 并且您是否使用相同的堆大小? http://viralpatel.net/blogs/jvm-java-increase-heap-size-setting-heap-size-jvm-heap/ – HRgiger
JVM是java 7&Linux的情况下,它需要14942208堆大小为Windows需要123731968堆大小 – yuvi
这意味着windows正在采取更多的堆大小 在这里,我的怀疑是所有关于系统的物理RAM Linux需要179 MB和Windows 18 MB – yuvi