diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Installer.java b/Core/src/org/sleuthkit/autopsy/coreutils/Installer.java index b934fcf82a..b98660ae08 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/Installer.java @@ -54,6 +54,14 @@ public class Installer extends ModuleInstall { autopsyLogger.log(Level.INFO, "Application name: " + Version.getName() + ", version: " + Version.getVersion() + ", build: " + Version.getBuildType()); + + autopsyLogger.log(Level.INFO, "os.name: " + System.getProperty("os.name")); + autopsyLogger.log(Level.INFO, "os.arch: " + System.getProperty("os.arch")); + autopsyLogger.log(Level.INFO, "PID: " + PlatformUtil.getPID()); + autopsyLogger.log(Level.INFO, "Process Virtual Memory Used: " + PlatformUtil.getProcessVirtualMemoryUsed()); + + + } @Override diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index 321583a160..834e03955c 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.List; import javax.swing.filechooser.FileSystemView; import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarLoader; import org.openide.modules.InstalledFileLocator; import org.openide.modules.Places; import org.sleuthkit.autopsy.casemodule.LocalDisk; @@ -398,11 +399,14 @@ public class PlatformUtil { try { if (sigar == null) { - sigar = new Sigar(); + sigar = org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar(); + } + if (sigar != null) { + pid = sigar.getPid(); + } + else { + System.out.println("Can't get PID"); } - pid = sigar.getPid(); - } catch (UnsatisfiedLinkError e) { - System.out.println("Can't load library and get PID, " + e.toString()); } catch (Exception e) { System.out.println("Can't get PID, " + e.toString()); } @@ -421,16 +425,14 @@ public class PlatformUtil { try { if (sigar == null) { - sigar = new Sigar(); + sigar = org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar(); } if (sigar == null || pid == -1) { + System.out.println("Can't get virt mem used"); return -1; } - virtMem = sigar.getProcMem(pid).getSize(); - } catch (UnsatisfiedLinkError e) { - System.out.println("Can't load library and get virt mem used, " + e.toString()); } catch (Exception e) { System.out.println("Can't get virt mem used, " + e.toString()); } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestMonitor.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestMonitor.java index 6eae9ba6d0..2bec6c5308 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestMonitor.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestMonitor.java @@ -217,6 +217,7 @@ public class IngestMonitor { final MemoryUsage nonHeap = memoryManager.getNonHeapMemoryUsage(); MONITOR_LOGGER.log(Level.INFO, "Java heap memory: " + heap.toString() + ", Java non-heap memory: " + nonHeap.toString()); + MONITOR_LOGGER.log(Level.INFO, "Process Virtual Memory: " + PlatformUtil.getProcessVirtualMemoryUsed()); } } diff --git a/CoreLibs/build-mac.xml b/CoreLibs/build-mac.xml index b59824ca6a..3bf78e6244 100644 --- a/CoreLibs/build-mac.xml +++ b/CoreLibs/build-mac.xml @@ -4,9 +4,9 @@ - + diff --git a/CoreLibs/build-unix.xml b/CoreLibs/build-unix.xml index cebccd0f69..2cf1d3442f 100644 --- a/CoreLibs/build-unix.xml +++ b/CoreLibs/build-unix.xml @@ -4,9 +4,9 @@ - + diff --git a/CoreLibs/build-windows.xml b/CoreLibs/build-windows.xml index c1f1f5cec7..ab033b730f 100644 --- a/CoreLibs/build-windows.xml +++ b/CoreLibs/build-windows.xml @@ -4,9 +4,9 @@ - + diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index 8ede94414f..e800cc1427 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -4,6 +4,7 @@ file.reference.ant-launcher-1.8.2.jar=release/modules/ext/ant-launcher-1.8.2.jar file.reference.AppleJavaExtensions-1.4.jar=release/modules/ext/AppleJavaExtensions-1.4.jar file.reference.avalon-framework-4.1.3.jar=release/modules/ext/avalon-framework-4.1.3.jar file.reference.commons-codec-1.5.jar=release/modules/ext/commons-codec-1.5.jar +file.reference.commons-io-2.4.jar=release/modules/ext/commons-io-2.4.jar file.reference.commons-lang-2.4.jar=release/modules/ext/commons-lang-2.4.jar file.reference.commons-logging-1.1.1.jar=release/modules/ext/commons-logging-1.1.1.jar file.reference.dom4j-1.6.1.jar=release/modules/ext/dom4j-1.6.1.jar @@ -28,7 +29,6 @@ file.reference.poi-ooxml-schemas-3.8.jar=release/modules/ext/poi-ooxml-schemas-3 file.reference.poi-scratchpad-3.8.jar=release/modules/ext/poi-scratchpad-3.8.jar file.reference.reflections-0.9.8.jar=release/modules/ext/reflections-0.9.8.jar file.reference.servlet-api-2.5.jar=release/modules/ext/servlet-api-2.5.jar -file.reference.sigar-1.6.4.jar=release/modules/ext/sigar-1.6.4.jar file.reference.slf4j-api-1.6.1.jar=release/modules/ext/slf4j-api-1.6.1.jar file.reference.slf4j-simple-1.6.1.jar=release/modules/ext/slf4j-simple-1.6.1.jar file.reference.stax-api-1.0.1.jar=release/modules/ext/stax-api-1.0.1.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index 9f7994be9c..8d4f053403 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -661,7 +661,6 @@ org.hyperic.sigar.util org.hyperic.sigar.vmware org.hyperic.sigar.win32 - org.hyperic.sigar.win32.test org.jbundle.thin.base.screen.jcalendarbutton org.openxmlformats.schemas.drawingml.x2006.chart org.openxmlformats.schemas.drawingml.x2006.chart.impl @@ -693,6 +692,7 @@ org.reflections.serializers org.reflections.util org.reflections.vfs + org.sleuthkit.autopsy.corelibs org.slf4j org.slf4j.helpers org.slf4j.impl @@ -822,18 +822,22 @@ ext/AppleJavaExtensions-1.4.jar release/modules/ext/AppleJavaExtensions-1.4.jar - - ext/jfxrt.jar - release/modules/ext/jfxrt.jar - ext/sigar-1.6.4.jar release/modules/ext/sigar-1.6.4.jar + + ext/jfxrt.jar + release/modules/ext/jfxrt.jar + ext/gson-1.4.jar release/modules/ext/gson-1.4.jar + + ext/sigar-1.6.4-sources.jar + release/modules/ext/sigar-1.6.4-sources.jar + ext/servlet-api-2.5.jar release/modules/ext/servlet-api-2.5.jar diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java new file mode 100644 index 0000000000..876fa2c8fb --- /dev/null +++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java @@ -0,0 +1,61 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2013 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.sleuthkit.autopsy.corelibs; + +import java.io.File; +import org.hyperic.sigar.Sigar; + +/** + * Wrapper over Sigar instrumentation class to facilitate dll loading. + * Our setup bypasses Sigar library loader which does not work well for netbeans environment + * We are responsible for loading the library ourselves. + */ +public class SigarLoader { + + private static volatile Sigar sigar; + + static { + //bypass the process of validation/loading of the library by sigar jar + System.setProperty("org.hyperic.sigar.path", "-"); + //System.setProperty(org.hyperic.sigar.SigarLoader.PROP_SIGAR_JAR_NAME, "sigar-1.6.4.jar"); + } + + public static Sigar getSigar() { + if (sigar == null) { + synchronized (SigarLoader.class) { + + try { + //rely on netbeans / jna to locate the lib variation for architecture/OS + System.loadLibrary("libsigar"); + sigar = new Sigar(); + sigar.enableLogging(false); //forces a test + + } catch (UnsatisfiedLinkError ex) { + System.out.println("Error loading sigar library" + ex.toString()); + } + catch (Exception ex) { + System.out.println("Error loading sigar library" + ex.toString()); + } + } + } + + return sigar; + } +} diff --git a/thirdparty/sigar/1.6.4/sigar-native.zip b/thirdparty/sigar/1.6.4/sigar-native.zip index 67a92c423c..b87e9b1d93 100644 Binary files a/thirdparty/sigar/1.6.4/sigar-native.zip and b/thirdparty/sigar/1.6.4/sigar-native.zip differ