Process.PagedMemorySize64 now returns value from /proc/PID/status
authorCraig Minihan <v-craig.minihan@exony.com>
Wed, 19 Nov 2014 13:56:48 +0000 (05:56 -0800)
committerCraig Minihan <v-craig.minihan@exony.com>
Wed, 19 Nov 2014 16:07:37 +0000 (08:07 -0800)
mcs/class/System/System.Diagnostics/Process.cs
mono/utils/mono-proclib.c
mono/utils/mono-proclib.h

index 0cf197af1dcac3be7c072c2ee3ac51b74573023f..a7b320f96ba7027409bdf84dbb4dd266c9e3dcf8 100644 (file)
@@ -346,23 +346,21 @@ namespace System.Diagnostics {
                        }
                }
 
-               [MonoTODO]
                [Obsolete ("Use PagedMemorySize64")]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The number of bytes that are paged.")]
                public int PagedMemorySize {
                        get {
-                               return(0);
+                               return(int)PagedMemorySize64;
                        }
                }
 
-               [MonoTODO]
                [Obsolete ("Use PagedSystemMemorySize64")]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The amount of paged system memory in bytes.")]
                public int PagedSystemMemorySize {
                        get {
-                               return(0);
+                               return(int)PagedMemorySize64;
                        }
                }
 
@@ -406,23 +404,22 @@ namespace System.Diagnostics {
                        }
                }
 
-               [MonoTODO]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The number of bytes that are paged.")]
                [ComVisible (false)]
                public long PagedMemorySize64 {
                        get {
-                               return(0);
+                               int error;
+                               return GetProcessData (pid, 12, out error);
                        }
                }
 
-               [MonoTODO]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The amount of paged system memory in bytes.")]
                [ComVisible (false)]
                public long PagedSystemMemorySize64 {
                        get {
-                               return(0);
+                               return PagedMemorySize64;
                        }
                }
 
index 1303b5b4d448498e2d6afea298f4a5599b047e8b..2b6f58a668e4e7619ceaa539be756650e8d9b375 100644 (file)
@@ -498,6 +498,8 @@ mono_process_get_data_with_error (gpointer pid, MonoProcessData data, MonoProces
                return get_process_stat_item (rpid, 18, FALSE, error) / get_user_hz ();
        case MONO_PROCESS_PPID:
                return get_process_stat_time (rpid, 0, FALSE, error);
+       case MONO_PROCESS_PAGED_BYTES:
+               return get_pid_status_item (rpid, "VmSwap", error, 1024);
 
                /* Nothing yet */
        case MONO_PROCESS_END:
index e0d84ec02332b237ba03f9b2e8e9daf24c89a424..bb8a62728e9d652b0c4e38e4cd4f43a3c843a04f 100644 (file)
@@ -20,8 +20,9 @@ typedef enum {
        MONO_PROCESS_VIRTUAL_BYTES,
        MONO_PROCESS_VIRTUAL_BYTES_PEAK,
        MONO_PROCESS_FAULTS,
-       MONO_PROCESS_ELAPSED,
+       MONO_PROCESS_ELAPSED, /* 10 */
        MONO_PROCESS_PPID,
+       MONO_PROCESS_PAGED_BYTES,
        MONO_PROCESS_END
 } MonoProcessData;