diff --git a/plugins/inputs/system/kernel_vmstat.go b/plugins/inputs/system/kernel_vmstat.go
index 93c8227898bd5fee884d4db014d5f9b8364529dd..197d81185cf2ba794080b68bd27547b71a708775 100644
--- a/plugins/inputs/system/kernel_vmstat.go
+++ b/plugins/inputs/system/kernel_vmstat.go
@@ -41,7 +41,7 @@ func (k *KernelVmstat) Gather(acc telegraf.Accumulator) error {
 		// We only want the even number index as that contain the stat name.
 		if i%2 == 0 {
 			// Convert the stat value into an integer.
-			m, err := strconv.Atoi(string(dataFields[i+1]))
+			m, err := strconv.ParseInt(string(dataFields[i+1]), 10, 64)
 			if err != nil {
 				return err
 			}
diff --git a/plugins/inputs/system/kernel_vmstat_test.go b/plugins/inputs/system/kernel_vmstat_test.go
index 963cf7f4ad2c197a80ed6d79a2d488071d14b2e4..ed0c03e2896d8e2bcecd51c9865efa001b032cd0 100644
--- a/plugins/inputs/system/kernel_vmstat_test.go
+++ b/plugins/inputs/system/kernel_vmstat_test.go
@@ -48,7 +48,7 @@ func TestFullVmStatProcFile(t *testing.T) {
 		"nr_isolated_anon":              int64(0),
 		"nr_isolated_file":              int64(0),
 		"nr_shmem":                      int64(541689),
-		"numa_hit":                      int64(5113399878),
+		"numa_hit":                      int64(6690743595),
 		"numa_miss":                     int64(0),
 		"numa_foreign":                  int64(0),
 		"numa_interleave":               int64(35793),
@@ -200,7 +200,7 @@ nr_writeback_temp 0
 nr_isolated_anon 0
 nr_isolated_file 0
 nr_shmem 541689
-numa_hit 5113399878
+numa_hit 6690743595
 numa_miss 0
 numa_foreign 0
 numa_interleave 35793