diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java
index 13d574bc673925f4a1a815af1a2f8ea76e8b6953..22a976545f62b8f80ec521ea5390160829ac042b 100644
--- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java
+++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java
@@ -32,13 +32,16 @@
 import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Stream;
 import javax.swing.filechooser.FileSystemView;
 import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.io.IOUtils;
 import org.openide.modules.InstalledFileLocator;
 import org.openide.modules.Places;
 import org.openide.util.NbBundle;
@@ -535,16 +538,12 @@ public static synchronized long getJavaPID(String sigarSubQuery) {
     public static synchronized long[] getJavaPIDs(String argsSubQuery) {
         try {
         if (isWindowsOS()) {
-            Process process = Runtime.getRuntime().exec("wmic process where \"name='java.exe' AND commandline LIKE '%" + argsSubQuery + "%'\" get ProcessID");
-            BufferedReader reader
-                    = new BufferedReader(new InputStreamReader(process.getInputStream()));          
-            List<String> lines = new ArrayList<>();
-            String line = null;
-            while ((line = reader.readLine()) != null) {
-                lines.add(line);
-            }
             
-            return lines.stream().skip(1).map(ln -> {
+            ProcessBuilder pb = new ProcessBuilder("wmic process where \"name='java.exe' AND commandline LIKE '%" + argsSubQuery + "%'\" get ProcessID");
+            String output = IOUtils.toString(pb.start().getInputStream(), StandardCharsets.UTF_8);
+            String[] lines = output.split("\\r?\\n");
+            
+            return Stream.of(lines).skip(1).map(ln -> {
                 if (ln == null || ln.trim().isEmpty()) {
                     return null;
                 }
@@ -561,14 +560,9 @@ public static synchronized long[] getJavaPIDs(String argsSubQuery) {
 
         } else {
             String sigarRegexQuery = argsSubQuery == null ? "" : argsSubQuery.replaceAll("_", ".").replaceAll("%", ".*");
-            Process process = Runtime.getRuntime().exec("ps -ef | grep -E 'java.*" + sigarRegexQuery + "'");
-            BufferedReader reader
-                    = new BufferedReader(new InputStreamReader(process.getInputStream()));          
-            List<String> lines = new ArrayList<>();
-            String line = null;
-            while ((line = reader.readLine()) != null) {
-                lines.add(line);
-            }
+            ProcessBuilder pb = new ProcessBuilder("ps -ef | grep -E 'java.*" + sigarRegexQuery + "'");
+            String output = IOUtils.toString(pb.start().getInputStream(), StandardCharsets.UTF_8);
+            List<String> lines = Arrays.asList(output.split("\\r?\\n"));
             
             if (lines.size() > 0) {
                 // ignore last one as it will be the same as this command
diff --git a/CoreLibs/build-mac.xml b/CoreLibs/build-mac.xml
index 3bf78e62442b7924d8c2715febea7b8d711bd9eb..fa1e769dc418b2af305ff09b21dcc0f7be3043ba 100644
--- a/CoreLibs/build-mac.xml
+++ b/CoreLibs/build-mac.xml
@@ -1,13 +1,7 @@
 <project name="NativeCoreLibs">
     
     <target name="build-native-libs" description="build native library dependencies"> 
-        <!-- sigar: note, matching jar is pulled with ivy -->
         <mkdir dir="${lib.dir}"/>
-        <unzip src="${thirdparty.dir}/sigar/1.6.4/sigar-native.zip" dest="${lib.dir}" >
-              <!-- get all, rely on jna to locate <patternset>
-                <include name="**/*.dylib"/>
-            </patternset> -->
-        </unzip>
     </target>
     
 </project>
diff --git a/CoreLibs/build-unix.xml b/CoreLibs/build-unix.xml
index 2cf1d3442f5f8a7e948e3ff056efceae35b4d25f..fa1e769dc418b2af305ff09b21dcc0f7be3043ba 100644
--- a/CoreLibs/build-unix.xml
+++ b/CoreLibs/build-unix.xml
@@ -1,13 +1,7 @@
 <project name="NativeCoreLibs">
     
     <target name="build-native-libs" description="build native library dependencies"> 
-        <!-- sigar: note, matching jar is pulled with ivy -->
         <mkdir dir="${lib.dir}"/>
-        <unzip src="${thirdparty.dir}/sigar/1.6.4/sigar-native.zip" dest="${lib.dir}" >
-             <!-- get all, rely on jna to locate <patternset>
-                <include name="**/*.so"/>
-            </patternset> -->
-        </unzip>
     </target>
     
 </project>
diff --git a/CoreLibs/build-windows.xml b/CoreLibs/build-windows.xml
index ab033b730fcacb318f59660dcda33fee96f44352..fa1e769dc418b2af305ff09b21dcc0f7be3043ba 100644
--- a/CoreLibs/build-windows.xml
+++ b/CoreLibs/build-windows.xml
@@ -1,13 +1,7 @@
 <project name="NativeCoreLibs">
     
     <target name="build-native-libs" description="build native library dependencies"> 
-        <!-- sigar: note, matching jar is pulled with ivy -->
         <mkdir dir="${lib.dir}"/>
-        <unzip src="${thirdparty.dir}/sigar/1.6.4/sigar-native.zip" dest="${lib.dir}" >
-           <!-- get all, rely on jna to locate <patternset>
-                <include name="**/*.dll"/>
-            </patternset> -->
-        </unzip>
     </target>
     
 </project>
diff --git a/CoreLibs/ivy.xml b/CoreLibs/ivy.xml
index 779fb52ea37d113ce5cfb34eeb1a92e5cc0489de..9c90bbc3047c2cbce913f3448999372e39c91d36 100644
--- a/CoreLibs/ivy.xml
+++ b/CoreLibs/ivy.xml
@@ -41,9 +41,6 @@
         <dependency conf="autopsy_core->default" org="net.htmlparser.jericho" name="jericho-html" rev="3.4"/>
 
         <dependency conf="autopsy_core->default" org="com.fasterxml.jackson.dataformat" name="jackson-dataformat-csv" rev="2.13.2"/>
-
-        <!-- process and system monitoring, note: matching native libs pulled from thirdparty -->
-        <dependency conf="autopsy_core->default" org="org.fusesource" name="sigar" rev="1.6.4" />
         
         <!-- better image resizing -->
         <dependency conf="autopsy_core->default" org="org.imgscalr" name="imgscalr-lib" rev="4.2" />
diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties
index 1d686d5951d38e91a69b795e73ac833ae7fd7a61..7c3b3fc496b8f31ead06905a135fc92a49991bfb 100644
--- a/CoreLibs/nbproject/project.properties
+++ b/CoreLibs/nbproject/project.properties
@@ -109,7 +109,6 @@ file.reference.protobuf-java-3.19.4.jar=release/modules/ext/protobuf-java-3.19.4
 file.reference.protobuf-java-util-3.19.4.jar=release/modules/ext/protobuf-java-util-3.19.4.jar
 file.reference.re2j-1.5.jar=release/modules/ext/re2j-1.5.jar
 file.reference.reload4j-1.2.19.jar=release/modules/ext/reload4j-1.2.19.jar
-file.reference.sigar-1.6.4.jar=release/modules/ext/sigar-1.6.4.jar
 file.reference.slf4j-api-1.7.36.jar=release/modules/ext/slf4j-api-1.7.36.jar
 file.reference.slf4j-reload4j-1.7.36.jar=release/modules/ext/slf4j-reload4j-1.7.36.jar
 file.reference.threetenbp-1.5.2.jar=release/modules/ext/threetenbp-1.5.2.jar
diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml
index 0432fa14766b1ab179ed5e05370aefe36fb28fd9..8b0f52600daf41a7993ee064f11883635b76fcdb 100644
--- a/CoreLibs/nbproject/project.xml
+++ b/CoreLibs/nbproject/project.xml
@@ -445,17 +445,6 @@
                 <package>org.freedesktop.gstreamer.message</package>
                 <package>org.freedesktop.gstreamer.query</package>
                 <package>org.freedesktop.gstreamer.webrtc</package>
-                <package>org.hyperic.jni</package>
-                <package>org.hyperic.sigar</package>
-                <package>org.hyperic.sigar.cmd</package>
-                <package>org.hyperic.sigar.jmx</package>
-                <package>org.hyperic.sigar.pager</package>
-                <package>org.hyperic.sigar.ptql</package>
-                <package>org.hyperic.sigar.shell</package>
-                <package>org.hyperic.sigar.test</package>
-                <package>org.hyperic.sigar.util</package>
-                <package>org.hyperic.sigar.vmware</package>
-                <package>org.hyperic.sigar.win32</package>
                 <package>org.imgscalr</package>
                 <package>org.joda.time</package>
                 <package>org.joda.time.base</package>
@@ -926,10 +915,6 @@
                 <runtime-relative-path>ext/reload4j-1.2.19.jar</runtime-relative-path>
                 <binary-origin>release/modules/ext/reload4j-1.2.19.jar</binary-origin>
             </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>ext/sigar-1.6.4.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/sigar-1.6.4.jar</binary-origin>
-            </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>ext/slf4j-api-1.7.36.jar</runtime-relative-path>
                 <binary-origin>release/modules/ext/slf4j-api-1.7.36.jar</binary-origin>
diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties
index 6c4bc4b0d3ee29b053f933773543a913e8afa194..3a47d181451e889e1e080bfd5af16439180e77a1 100644
--- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties
+++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties
@@ -4,4 +4,3 @@ OpenIDE-Module-Long-Description=\
     The libraries can also be imported by other modules.
 OpenIDE-Module-Name=Autopsy-CoreLibs
 OpenIDE-Module-Short-Description=Autopsy Core module external libraries
-SigarLoader.linkErr.msg=Could not load sigar library for your environment (non-critical), OS-level metrics will be unavailable.
diff --git a/build.xml b/build.xml
index 7280526dd8469c7bd075215b9a1344993b1891ea..405d8b6db949ac4e5786946d0b4bae3e1daf48a7 100644
--- a/build.xml
+++ b/build.xml
@@ -88,25 +88,13 @@
     <!-- This target is similar to the regular test target that calls test on all nbm's, 
     but this target excludes the Testing nbm which runs the regression tests -->
     <target name="test-no-regression" depends="build" description="Runs tests for all modules in the suite excluding the regression tests of the Testing NBM.">
-        <!--taken from https://stackoverflow.com/a/10859103; remove "Testing" from the modules and provide 'modulesNoTesting' as result. -->
-        <property name="modulesBeforeChange" value="${modules}"/>
-        <script language="javascript">
-            <![CDATA[ 
-                var before = project.getProperty("modulesBeforeChange");
-                var separator = ":";
-                var testingNbm = "Testing";
-                var beforeSplit = before.split(separator);
-                var items = [];
-                for (var i = 0; i < beforeSplit.length; i++) {
-                    if (beforeSplit[i].toUpperCase() !== testingNbm.toUpperCase()) {
-                        items.push(beforeSplit[i]);
-                    }
-                }
-                var itemsJoined = items.join(separator);
-                project.setNewProperty("modulesNoTesting", itemsJoined);
-            ]]>
-        </script>
-
+        <!--taken from https://stackoverflow.com/a/1176101/2375948 ; remove "Testing" from the modules and provide 'modulesNoTesting' as result. -->
+        <propertyregex property="modulesNoTesting"
+               input="${modules}"
+               regexp="Testing[;:]?"
+               replace=""
+               global="true" />
+        
         <sortsuitemodules unsortedmodules="${modulesNoTesting}" sortedmodulesproperty="modules.test.sorted" sorttests="true"/>
         <!-- continue on fail -->
         <property name="continue.after.failing.tests" value="true"/>
diff --git a/thirdparty/sigar/1.6.4/sigar-native.zip b/thirdparty/sigar/1.6.4/sigar-native.zip
deleted file mode 100644
index b87e9b1d93ba6af70074c339d9eb0cd01a9b66b9..0000000000000000000000000000000000000000
Binary files a/thirdparty/sigar/1.6.4/sigar-native.zip and /dev/null differ