X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=data%2FPVE%2FProcFSTools.pm;h=e0a882854d72dd8a9dd6c765e17e81bf9b3d95c3;hb=0758d0928c035e4447e657f8dab499f1a09e2c65;hp=4c1591cd8049b01dc488d7d908133c92ac2fc84a;hpb=4235c2f396f36cf0f8898c5179d261ad66ac68f7;p=pve-common.git diff --git a/data/PVE/ProcFSTools.pm b/data/PVE/ProcFSTools.pm index 4c1591c..e0a8828 100644 --- a/data/PVE/ProcFSTools.pm +++ b/data/PVE/ProcFSTools.pm @@ -1,6 +1,7 @@ package PVE::ProcFSTools; use strict; +use warnings; use POSIX; use Time::HiRes qw (gettimeofday); use IO::File; @@ -175,6 +176,7 @@ sub read_meminfo { memtotal => 0, memfree => 0, memused => 0, + memshared => 0, swaptotal => 0, swapfree => 0, swapused => 0, @@ -199,6 +201,9 @@ sub read_meminfo { $res->{swapfree} = $d->{swapfree}; $res->{swapused} = $res->{swaptotal} - $res->{swapfree}; + my $spages = PVE::Tools::file_read_firstline("/sys/kernel/mm/ksm/pages_sharing"); + $res->{memshared} = int($spages) * 4096; + return $res; } @@ -241,4 +246,14 @@ sub read_proc_net_dev { return $res; } +sub write_proc_entry { + my ($filename, $data) = @_;# + + my $fh = IO::File->new($filename, O_WRONLY); + die "unable to open file '$filename' - $!\n" if !$fh; + die "unable to write '$filename' - $!\n" unless print $fh $data; + die "closing file '$filename' failed - $!\n" unless close $fh; + $fh->close(); +} + 1;