summaryrefslogtreecommitdiffstats
path: root/plugins/check_swap.c
diff options
context:
space:
mode:
authorLorenz <12514511+RincewindsHat@users.noreply.github.com>2022-01-03 14:35:29 +0100
committerGitHub <noreply@github.com>2022-01-03 14:35:29 +0100
commit9899bc736f45400fa70bdee281f5f5b46490b805 (patch)
tree60b951b3a120e3e2db8c1e1d4146dfdbf45083b6 /plugins/check_swap.c
parent78a999edd4dd3305ef8fa3e06c43f6a893fb6fea (diff)
parentd496d6523bd0def281f001ddfb2a3f467bd9a4a6 (diff)
downloadmonitoring-plugins-9899bc736f45400fa70bdee281f5f5b46490b805.tar.gz
Merge pull request #1642 from mdavranche/master
check_swap: Handle cached swap
Diffstat (limited to 'plugins/check_swap.c')
-rw-r--r--plugins/check_swap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index 7da26cfc..bb854beb 100644
--- a/plugins/check_swap.c
+++ b/plugins/check_swap.c
@@ -145,11 +145,12 @@ main (int argc, char **argv)
145 xasprintf (&status, "%s [%lu (%d%%)]", status, dskfree_mb, 100 - percent); 145 xasprintf (&status, "%s [%lu (%d%%)]", status, dskfree_mb, 100 - percent);
146 } 146 }
147 } 147 }
148
148 /* 149 /*
149 * The following sscanf call looks for lines looking like: "SwapTotal: 123" and "SwapFree: 123" 150 * The following sscanf call looks for lines looking like: "SwapTotal: 123" and "SwapFree: 123"
150 * This format exists at least on Debian Linux with a 5.* kernel 151 * This format exists at least on Debian Linux with a 5.* kernel
151 */ 152 */
152 else if (sscanf (input_buffer, "%*[S]%*[w]%*[a]%*[p]%[TotalFre]%*[:] %lu %*[k]%*[B]", str, &tmp_KB)) { 153 else if (sscanf (input_buffer, "%*[S]%*[w]%*[a]%*[p]%[TotalFreCchd]%*[:] %f %*[k]%*[B]", str, &tmp_KB)) {
153 if (verbose >= 3) { 154 if (verbose >= 3) {
154 printf("Got %s with %lu\n", str, tmp_KB); 155 printf("Got %s with %lu\n", str, tmp_KB);
155 } 156 }
@@ -158,7 +159,10 @@ main (int argc, char **argv)
158 dsktotal_mb = tmp_KB / 1024; 159 dsktotal_mb = tmp_KB / 1024;
159 } 160 }
160 else if (strcmp ("Free", str) == 0) { 161 else if (strcmp ("Free", str) == 0) {
161 dskfree_mb = tmp_KB / 1024; 162 dskfree_mb = dskfree_mb + tmp_KB / 1024;
163 }
164 else if (strcmp ("Cached", str) == 0) {
165 dskfree_mb = dskfree_mb + tmp_KB / 1024;
162 } 166 }
163 } 167 }
164 } 168 }