get_process_mem 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 40e47a8db99d1a0aa017234b19201977d0d5ffd7
4
- data.tar.gz: e6f6c78ed5e072ba3e1c61ca8485e04f470e19e0
3
+ metadata.gz: 52264416d05e8d73e6a2d1245f1f9bca7b043fb2
4
+ data.tar.gz: 5ea9ced69283b2a9e0ea07f08f9dd7d5e928e707
5
5
  SHA512:
6
- metadata.gz: 35a0c27762550925839a2c6722d3e759bb77568e1a7badf46ddaa81c5907ee1c7e4c122b9e9bc0b772ce573c3d4b08b5626ec40bf71f5491c6a5250f1ac05893
7
- data.tar.gz: 1ff60c90b5f3b47526b86a5ea7bcb4d40068a4aa67a424246bcde6bc25a2cfb2b43dd03de2806c6e8b8be2943e28d3fdbce4eaeff565496d2f1ee6aa15e045d9
6
+ metadata.gz: 7b2446a2c0f9fa8f4c387a5ca82f455b4063874f3516a5615c744a4790eb0e166dcfd03400ac52694fef8f557159f5641377194db6be73e495b01cefa4413ccf
7
+ data.tar.gz: 98d55d7547d8c73e5d87ed91012df5672abc44d71a5b2853d60f0a6fbdead3d6530bbc8891b026361e48856f6c5f8fd39e5c9ae25fa64a9f19536c51b2d7f5be
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  *.gem
2
+ Gemfile.lock
@@ -0,0 +1,11 @@
1
+ ## 0.1.1
2
+ - Bugfix: the `ps` style of memory reporting should always use RSS, and Linux should always use PSS
3
+
4
+ ## 0.1.0
5
+
6
+ - Default to using PSS for linux (#2 & #3) @ksoderstrom
7
+ - Correct for bit shifting truncation (#4) @ksoderstrom
8
+
9
+ ## 0.0.1
10
+
11
+ - Initial
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/schneems/get_process_mem.png?branch=master)](https://travis-ci.org/schneems/get_process_mem)
4
4
 
5
- Do you need to get the memory useage of a process? Great because this library does that.
5
+ Do you need to get the memory usage of a process? Great because this library does that.
6
6
 
7
7
  ## Install
8
8
 
@@ -28,7 +28,7 @@ mem.mb # => 24.28125
28
28
  mem.gb # => 0.023712158203125
29
29
  ```
30
30
 
31
- Note: all numeric values returned as a float except bytes which is an integer.
31
+ Note: All numeric values returned as a float except bytes which is an integer.
32
32
 
33
33
  Get memory usage of another process:
34
34
 
@@ -47,7 +47,13 @@ mem.inspect
47
47
  `rm tmplog`
48
48
  ```
49
49
 
50
- For memory size we return the RSS or the [Resident Set Size](http://en.wikipedia.org/wiki/Resident_set_size), basically how much memory the program takes up in RAM at the time. It's all I needed for the project.
50
+ On Linux, which provides `/proc/<pid>/smaps`, the default memory type returned is PSS, or "proportional set size", where shared memory is divided by the number of processes sharing it. On other platforms, the size returned is the RSS or the [Resident Set Size](http://en.wikipedia.org/wiki/Resident_set_size), basically how much memory the program takes up in RAM at the time, including all the shared memory.
51
+
52
+ The memory type can be specified by passing an options hash:
53
+
54
+ ```ruby
55
+ GetProcessMem.new(Process.pid, mem_type: 'rss')
56
+ ```
51
57
 
52
58
 
53
59
 
@@ -1,19 +1,20 @@
1
1
  require 'pathname'
2
+ require 'bigdecimal'
3
+
2
4
 
3
5
  # Cribbed from Unicorn Worker Killer, thanks!
4
6
  class GetProcessMem
5
7
  KB_TO_BYTE = 1024 # 2**10 = 1024
6
8
  MB_TO_BYTE = 1_048_576 # 1024**2 = 1_048_576
7
9
  GB_TO_BYTE = 1_073_741_824 # 1024**3 = 1_073_741_824
8
- CONVERSION = { "kb" => KB_TO_BYTE, "mb" => MB_TO_BYTE, "gb" => GB_TO_BYTE}
9
- MEM_TYPE = "rss" # http://en.wikipedia.org/wiki/Resident_set_size
10
+ CONVERSION = { "kb" => KB_TO_BYTE, "mb" => MB_TO_BYTE, "gb" => GB_TO_BYTE }
11
+ ROUND_UP = BigDecimal.new("0.5")
10
12
  attr_reader :pid
11
13
 
12
- def initialize(pid = Process.pid, mem_type = MEM_TYPE)
13
- @process_file = Pathname.new "/proc/#{pid}/status"
14
+ def initialize(pid = Process.pid)
15
+ @process_file = Pathname.new "/proc/#{pid}/smaps"
14
16
  @pid = pid
15
17
  @linux = @process_file.exist?
16
- self.mem_type = mem_type
17
18
  end
18
19
 
19
20
  def linux?
@@ -26,20 +27,20 @@ class GetProcessMem
26
27
  end
27
28
 
28
29
  def kb(b = bytes)
29
- b.fdiv(KB_TO_BYTE)
30
+ (b/BigDecimal.new(KB_TO_BYTE)).to_f
30
31
  end
31
32
 
32
33
  def mb(b = bytes)
33
- b.fdiv(MB_TO_BYTE)
34
+ (b/BigDecimal.new(MB_TO_BYTE)).to_f
34
35
  end
35
36
 
36
37
  def gb(b = bytes)
37
- b.fdiv(GB_TO_BYTE)
38
+ (b/BigDecimal.new(GB_TO_BYTE)).to_f
38
39
  end
39
40
 
40
41
  def inspect
41
42
  b = bytes
42
- "#<#{self.class}:0x%08x @mb=#{mb b } @gb=#{gb b } @kb=#{kb b } @bytes=#{b}>" % (object_id * 2)
43
+ "#<#{self.class}:0x%08x @mb=#{ mb b } @gb=#{ gb b } @kb=#{ kb b } @bytes=#{b}>" % (object_id * 2)
43
44
  end
44
45
 
45
46
  def mem_type
@@ -50,32 +51,29 @@ class GetProcessMem
50
51
  @mem_type = mem_type.downcase
51
52
  end
52
53
 
54
+ # linux stores memory info in a file "/proc/#{pid}/smaps"
55
+ # If it's available it uses less resources than shelling out to ps
56
+ # It also allows us to use Pss (the process' proportional share of
57
+ # the mapping that is resident in RAM) as mem_type
58
+ def linux_memory(file = @process_file)
59
+ lines = file.each_line.select {|line| line.match /^Pss/ }
60
+ return if lines.empty?
61
+ lines.reduce(0) do |sum, line|
62
+ line.match(/(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/) do |m|
63
+ value = BigDecimal.new(m[:value]) + ROUND_UP
64
+ unit = m[:unit].downcase
65
+ sum += CONVERSION[unit] * value
66
+ end
67
+ sum
68
+ end
69
+ end
70
+
53
71
  private
54
72
 
55
73
  # Pull memory from `ps` command, takes more resources and can freeze
56
74
  # in low memory situations
57
75
  def ps_memory
58
- KB_TO_BYTE * `ps -o #{mem_type_for_ps}= -p #{pid}`.to_i
59
- end
60
-
61
- def mem_type_for_ps
62
- mem_type
63
- end
64
-
65
- def mem_type_for_linux
66
- case mem_type
67
- when 'rss'
68
- 'VmRSS'
69
- end
70
- end
71
-
72
- # linux stores memory info in a file "/proc/#{pid}/status"
73
- # If it's available it uses less resources than shelling out to ps
74
- def linux_memory
75
- line = @process_file.each_line.detect {|line| line.include? mem_type_for_linux }
76
- return unless line
77
- return unless (name, value, unit = line.split(nil)).length == 3
78
- CONVERSION[unit.downcase] * value.to_i
76
+ KB_TO_BYTE * BigDecimal.new(`ps -o rss= -p #{pid}`)
79
77
  end
80
78
  end
81
79
 
@@ -1,3 +1,3 @@
1
1
  class GetProcessMem
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -0,0 +1,912 @@
1
+ 00400000-004db000 r-xp 00000000 07:01 72877 /bin/bash
2
+ Size: 876 kB
3
+ Rss: 532 kB
4
+ Pss: 532 kB
5
+ Shared_Clean: 0 kB
6
+ Shared_Dirty: 0 kB
7
+ Private_Clean: 532 kB
8
+ Private_Dirty: 0 kB
9
+ Referenced: 532 kB
10
+ Anonymous: 0 kB
11
+ AnonHugePages: 0 kB
12
+ Swap: 0 kB
13
+ KernelPageSize: 4 kB
14
+ MMUPageSize: 4 kB
15
+ Locked: 0 kB
16
+ VmFlags: rd ex mr mw me dw
17
+ 006da000-006db000 r--p 000da000 07:01 72877 /bin/bash
18
+ Size: 4 kB
19
+ Rss: 4 kB
20
+ Pss: 4 kB
21
+ Shared_Clean: 0 kB
22
+ Shared_Dirty: 0 kB
23
+ Private_Clean: 0 kB
24
+ Private_Dirty: 4 kB
25
+ Referenced: 4 kB
26
+ Anonymous: 4 kB
27
+ AnonHugePages: 0 kB
28
+ Swap: 0 kB
29
+ KernelPageSize: 4 kB
30
+ MMUPageSize: 4 kB
31
+ Locked: 0 kB
32
+ VmFlags: rd mr mw me dw ac
33
+ 006db000-006e4000 rw-p 000db000 07:01 72877 /bin/bash
34
+ Size: 36 kB
35
+ Rss: 36 kB
36
+ Pss: 36 kB
37
+ Shared_Clean: 0 kB
38
+ Shared_Dirty: 0 kB
39
+ Private_Clean: 0 kB
40
+ Private_Dirty: 36 kB
41
+ Referenced: 36 kB
42
+ Anonymous: 36 kB
43
+ AnonHugePages: 0 kB
44
+ Swap: 0 kB
45
+ KernelPageSize: 4 kB
46
+ MMUPageSize: 4 kB
47
+ Locked: 0 kB
48
+ VmFlags: rd wr mr mw me dw ac
49
+ 006e4000-006ea000 rw-p 00000000 00:00 0
50
+ Size: 24 kB
51
+ Rss: 24 kB
52
+ Pss: 24 kB
53
+ Shared_Clean: 0 kB
54
+ Shared_Dirty: 0 kB
55
+ Private_Clean: 0 kB
56
+ Private_Dirty: 24 kB
57
+ Referenced: 24 kB
58
+ Anonymous: 24 kB
59
+ AnonHugePages: 0 kB
60
+ Swap: 0 kB
61
+ KernelPageSize: 4 kB
62
+ MMUPageSize: 4 kB
63
+ Locked: 0 kB
64
+ VmFlags: rd wr mr mw me ac
65
+ 020c0000-0210e000 rw-p 00000000 00:00 0 [heap]
66
+ Size: 312 kB
67
+ Rss: 312 kB
68
+ Pss: 312 kB
69
+ Shared_Clean: 0 kB
70
+ Shared_Dirty: 0 kB
71
+ Private_Clean: 0 kB
72
+ Private_Dirty: 312 kB
73
+ Referenced: 312 kB
74
+ Anonymous: 312 kB
75
+ AnonHugePages: 0 kB
76
+ Swap: 0 kB
77
+ KernelPageSize: 4 kB
78
+ MMUPageSize: 4 kB
79
+ Locked: 0 kB
80
+ VmFlags: rd wr mr mw me ac
81
+ 7f28ff505000-7f28ff511000 r-xp 00000000 07:01 81120 /lib/libnss_files-2.11.1.so
82
+ Size: 48 kB
83
+ Rss: 16 kB
84
+ Pss: 0 kB
85
+ Shared_Clean: 16 kB
86
+ Shared_Dirty: 0 kB
87
+ Private_Clean: 0 kB
88
+ Private_Dirty: 0 kB
89
+ Referenced: 16 kB
90
+ Anonymous: 0 kB
91
+ AnonHugePages: 0 kB
92
+ Swap: 0 kB
93
+ KernelPageSize: 4 kB
94
+ MMUPageSize: 4 kB
95
+ Locked: 0 kB
96
+ VmFlags: rd ex mr mw me
97
+ 7f28ff511000-7f28ff710000 ---p 0000c000 07:01 81120 /lib/libnss_files-2.11.1.so
98
+ Size: 2044 kB
99
+ Rss: 0 kB
100
+ Pss: 0 kB
101
+ Shared_Clean: 0 kB
102
+ Shared_Dirty: 0 kB
103
+ Private_Clean: 0 kB
104
+ Private_Dirty: 0 kB
105
+ Referenced: 0 kB
106
+ Anonymous: 0 kB
107
+ AnonHugePages: 0 kB
108
+ Swap: 0 kB
109
+ KernelPageSize: 4 kB
110
+ MMUPageSize: 4 kB
111
+ Locked: 0 kB
112
+ VmFlags: mr mw me
113
+ 7f28ff710000-7f28ff711000 r--p 0000b000 07:01 81120 /lib/libnss_files-2.11.1.so
114
+ Size: 4 kB
115
+ Rss: 4 kB
116
+ Pss: 4 kB
117
+ Shared_Clean: 0 kB
118
+ Shared_Dirty: 0 kB
119
+ Private_Clean: 0 kB
120
+ Private_Dirty: 4 kB
121
+ Referenced: 4 kB
122
+ Anonymous: 4 kB
123
+ AnonHugePages: 0 kB
124
+ Swap: 0 kB
125
+ KernelPageSize: 4 kB
126
+ MMUPageSize: 4 kB
127
+ Locked: 0 kB
128
+ VmFlags: rd mr mw me ac
129
+ 7f28ff711000-7f28ff712000 rw-p 0000c000 07:01 81120 /lib/libnss_files-2.11.1.so
130
+ Size: 4 kB
131
+ Rss: 4 kB
132
+ Pss: 4 kB
133
+ Shared_Clean: 0 kB
134
+ Shared_Dirty: 0 kB
135
+ Private_Clean: 0 kB
136
+ Private_Dirty: 4 kB
137
+ Referenced: 4 kB
138
+ Anonymous: 4 kB
139
+ AnonHugePages: 0 kB
140
+ Swap: 0 kB
141
+ KernelPageSize: 4 kB
142
+ MMUPageSize: 4 kB
143
+ Locked: 0 kB
144
+ VmFlags: rd wr mr mw me ac
145
+ 7f28ff712000-7f28ff71c000 r-xp 00000000 07:01 81122 /lib/libnss_nis-2.11.1.so
146
+ Size: 40 kB
147
+ Rss: 20 kB
148
+ Pss: 0 kB
149
+ Shared_Clean: 20 kB
150
+ Shared_Dirty: 0 kB
151
+ Private_Clean: 0 kB
152
+ Private_Dirty: 0 kB
153
+ Referenced: 20 kB
154
+ Anonymous: 0 kB
155
+ AnonHugePages: 0 kB
156
+ Swap: 0 kB
157
+ KernelPageSize: 4 kB
158
+ MMUPageSize: 4 kB
159
+ Locked: 0 kB
160
+ VmFlags: rd ex mr mw me
161
+ 7f28ff71c000-7f28ff91b000 ---p 0000a000 07:01 81122 /lib/libnss_nis-2.11.1.so
162
+ Size: 2044 kB
163
+ Rss: 0 kB
164
+ Pss: 0 kB
165
+ Shared_Clean: 0 kB
166
+ Shared_Dirty: 0 kB
167
+ Private_Clean: 0 kB
168
+ Private_Dirty: 0 kB
169
+ Referenced: 0 kB
170
+ Anonymous: 0 kB
171
+ AnonHugePages: 0 kB
172
+ Swap: 0 kB
173
+ KernelPageSize: 4 kB
174
+ MMUPageSize: 4 kB
175
+ Locked: 0 kB
176
+ VmFlags: mr mw me
177
+ 7f28ff91b000-7f28ff91c000 r--p 00009000 07:01 81122 /lib/libnss_nis-2.11.1.so
178
+ Size: 4 kB
179
+ Rss: 4 kB
180
+ Pss: 4 kB
181
+ Shared_Clean: 0 kB
182
+ Shared_Dirty: 0 kB
183
+ Private_Clean: 0 kB
184
+ Private_Dirty: 4 kB
185
+ Referenced: 4 kB
186
+ Anonymous: 4 kB
187
+ AnonHugePages: 0 kB
188
+ Swap: 0 kB
189
+ KernelPageSize: 4 kB
190
+ MMUPageSize: 4 kB
191
+ Locked: 0 kB
192
+ VmFlags: rd mr mw me ac
193
+ 7f28ff91c000-7f28ff91d000 rw-p 0000a000 07:01 81122 /lib/libnss_nis-2.11.1.so
194
+ Size: 4 kB
195
+ Rss: 4 kB
196
+ Pss: 4 kB
197
+ Shared_Clean: 0 kB
198
+ Shared_Dirty: 0 kB
199
+ Private_Clean: 0 kB
200
+ Private_Dirty: 4 kB
201
+ Referenced: 4 kB
202
+ Anonymous: 4 kB
203
+ AnonHugePages: 0 kB
204
+ Swap: 0 kB
205
+ KernelPageSize: 4 kB
206
+ MMUPageSize: 4 kB
207
+ Locked: 0 kB
208
+ VmFlags: rd wr mr mw me ac
209
+ 7f28ff91d000-7f28ff934000 r-xp 00000000 07:01 81117 /lib/libnsl-2.11.1.so
210
+ Size: 92 kB
211
+ Rss: 24 kB
212
+ Pss: 0 kB
213
+ Shared_Clean: 24 kB
214
+ Shared_Dirty: 0 kB
215
+ Private_Clean: 0 kB
216
+ Private_Dirty: 0 kB
217
+ Referenced: 24 kB
218
+ Anonymous: 0 kB
219
+ AnonHugePages: 0 kB
220
+ Swap: 0 kB
221
+ KernelPageSize: 4 kB
222
+ MMUPageSize: 4 kB
223
+ Locked: 0 kB
224
+ VmFlags: rd ex mr mw me
225
+ 7f28ff934000-7f28ffb33000 ---p 00017000 07:01 81117 /lib/libnsl-2.11.1.so
226
+ Size: 2044 kB
227
+ Rss: 0 kB
228
+ Pss: 0 kB
229
+ Shared_Clean: 0 kB
230
+ Shared_Dirty: 0 kB
231
+ Private_Clean: 0 kB
232
+ Private_Dirty: 0 kB
233
+ Referenced: 0 kB
234
+ Anonymous: 0 kB
235
+ AnonHugePages: 0 kB
236
+ Swap: 0 kB
237
+ KernelPageSize: 4 kB
238
+ MMUPageSize: 4 kB
239
+ Locked: 0 kB
240
+ VmFlags: mr mw me
241
+ 7f28ffb33000-7f28ffb34000 r--p 00016000 07:01 81117 /lib/libnsl-2.11.1.so
242
+ Size: 4 kB
243
+ Rss: 4 kB
244
+ Pss: 4 kB
245
+ Shared_Clean: 0 kB
246
+ Shared_Dirty: 0 kB
247
+ Private_Clean: 0 kB
248
+ Private_Dirty: 4 kB
249
+ Referenced: 4 kB
250
+ Anonymous: 4 kB
251
+ AnonHugePages: 0 kB
252
+ Swap: 0 kB
253
+ KernelPageSize: 4 kB
254
+ MMUPageSize: 4 kB
255
+ Locked: 0 kB
256
+ VmFlags: rd mr mw me ac
257
+ 7f28ffb34000-7f28ffb35000 rw-p 00017000 07:01 81117 /lib/libnsl-2.11.1.so
258
+ Size: 4 kB
259
+ Rss: 4 kB
260
+ Pss: 4 kB
261
+ Shared_Clean: 0 kB
262
+ Shared_Dirty: 0 kB
263
+ Private_Clean: 0 kB
264
+ Private_Dirty: 4 kB
265
+ Referenced: 4 kB
266
+ Anonymous: 4 kB
267
+ AnonHugePages: 0 kB
268
+ Swap: 0 kB
269
+ KernelPageSize: 4 kB
270
+ MMUPageSize: 4 kB
271
+ Locked: 0 kB
272
+ VmFlags: rd wr mr mw me ac
273
+ 7f28ffb35000-7f28ffb37000 rw-p 00000000 00:00 0
274
+ Size: 8 kB
275
+ Rss: 0 kB
276
+ Pss: 0 kB
277
+ Shared_Clean: 0 kB
278
+ Shared_Dirty: 0 kB
279
+ Private_Clean: 0 kB
280
+ Private_Dirty: 0 kB
281
+ Referenced: 0 kB
282
+ Anonymous: 0 kB
283
+ AnonHugePages: 0 kB
284
+ Swap: 0 kB
285
+ KernelPageSize: 4 kB
286
+ MMUPageSize: 4 kB
287
+ Locked: 0 kB
288
+ VmFlags: rd wr mr mw me ac
289
+ 7f28ffb37000-7f28ffb3f000 r-xp 00000000 07:01 81118 /lib/libnss_compat-2.11.1.so
290
+ Size: 32 kB
291
+ Rss: 24 kB
292
+ Pss: 0 kB
293
+ Shared_Clean: 24 kB
294
+ Shared_Dirty: 0 kB
295
+ Private_Clean: 0 kB
296
+ Private_Dirty: 0 kB
297
+ Referenced: 24 kB
298
+ Anonymous: 0 kB
299
+ AnonHugePages: 0 kB
300
+ Swap: 0 kB
301
+ KernelPageSize: 4 kB
302
+ MMUPageSize: 4 kB
303
+ Locked: 0 kB
304
+ VmFlags: rd ex mr mw me
305
+ 7f28ffb3f000-7f28ffd3e000 ---p 00008000 07:01 81118 /lib/libnss_compat-2.11.1.so
306
+ Size: 2044 kB
307
+ Rss: 0 kB
308
+ Pss: 0 kB
309
+ Shared_Clean: 0 kB
310
+ Shared_Dirty: 0 kB
311
+ Private_Clean: 0 kB
312
+ Private_Dirty: 0 kB
313
+ Referenced: 0 kB
314
+ Anonymous: 0 kB
315
+ AnonHugePages: 0 kB
316
+ Swap: 0 kB
317
+ KernelPageSize: 4 kB
318
+ MMUPageSize: 4 kB
319
+ Locked: 0 kB
320
+ VmFlags: mr mw me
321
+ 7f28ffd3e000-7f28ffd3f000 r--p 00007000 07:01 81118 /lib/libnss_compat-2.11.1.so
322
+ Size: 4 kB
323
+ Rss: 4 kB
324
+ Pss: 4 kB
325
+ Shared_Clean: 0 kB
326
+ Shared_Dirty: 0 kB
327
+ Private_Clean: 0 kB
328
+ Private_Dirty: 4 kB
329
+ Referenced: 4 kB
330
+ Anonymous: 4 kB
331
+ AnonHugePages: 0 kB
332
+ Swap: 0 kB
333
+ KernelPageSize: 4 kB
334
+ MMUPageSize: 4 kB
335
+ Locked: 0 kB
336
+ VmFlags: rd mr mw me ac
337
+ 7f28ffd3f000-7f28ffd40000 rw-p 00008000 07:01 81118 /lib/libnss_compat-2.11.1.so
338
+ Size: 4 kB
339
+ Rss: 4 kB
340
+ Pss: 4 kB
341
+ Shared_Clean: 0 kB
342
+ Shared_Dirty: 0 kB
343
+ Private_Clean: 0 kB
344
+ Private_Dirty: 4 kB
345
+ Referenced: 4 kB
346
+ Anonymous: 4 kB
347
+ AnonHugePages: 0 kB
348
+ Swap: 0 kB
349
+ KernelPageSize: 4 kB
350
+ MMUPageSize: 4 kB
351
+ Locked: 0 kB
352
+ VmFlags: rd wr mr mw me ac
353
+ 7f28ffd40000-7f28ffebd000 r-xp 00000000 07:01 81088 /lib/libc-2.11.1.so
354
+ Size: 1524 kB
355
+ Rss: 540 kB
356
+ Pss: 10 kB
357
+ Shared_Clean: 532 kB
358
+ Shared_Dirty: 0 kB
359
+ Private_Clean: 8 kB
360
+ Private_Dirty: 0 kB
361
+ Referenced: 540 kB
362
+ Anonymous: 0 kB
363
+ AnonHugePages: 0 kB
364
+ Swap: 0 kB
365
+ KernelPageSize: 4 kB
366
+ MMUPageSize: 4 kB
367
+ Locked: 0 kB
368
+ VmFlags: rd ex mr mw me
369
+ 7f28ffebd000-7f29000bc000 ---p 0017d000 07:01 81088 /lib/libc-2.11.1.so
370
+ Size: 2044 kB
371
+ Rss: 0 kB
372
+ Pss: 0 kB
373
+ Shared_Clean: 0 kB
374
+ Shared_Dirty: 0 kB
375
+ Private_Clean: 0 kB
376
+ Private_Dirty: 0 kB
377
+ Referenced: 0 kB
378
+ Anonymous: 0 kB
379
+ AnonHugePages: 0 kB
380
+ Swap: 0 kB
381
+ KernelPageSize: 4 kB
382
+ MMUPageSize: 4 kB
383
+ Locked: 0 kB
384
+ VmFlags: mr mw me
385
+ 7f29000bc000-7f29000c0000 r--p 0017c000 07:01 81088 /lib/libc-2.11.1.so
386
+ Size: 16 kB
387
+ Rss: 16 kB
388
+ Pss: 16 kB
389
+ Shared_Clean: 0 kB
390
+ Shared_Dirty: 0 kB
391
+ Private_Clean: 0 kB
392
+ Private_Dirty: 16 kB
393
+ Referenced: 16 kB
394
+ Anonymous: 16 kB
395
+ AnonHugePages: 0 kB
396
+ Swap: 0 kB
397
+ KernelPageSize: 4 kB
398
+ MMUPageSize: 4 kB
399
+ Locked: 0 kB
400
+ VmFlags: rd mr mw me ac
401
+ 7f29000c0000-7f29000c1000 rw-p 00180000 07:01 81088 /lib/libc-2.11.1.so
402
+ Size: 4 kB
403
+ Rss: 4 kB
404
+ Pss: 4 kB
405
+ Shared_Clean: 0 kB
406
+ Shared_Dirty: 0 kB
407
+ Private_Clean: 0 kB
408
+ Private_Dirty: 4 kB
409
+ Referenced: 4 kB
410
+ Anonymous: 4 kB
411
+ AnonHugePages: 0 kB
412
+ Swap: 0 kB
413
+ KernelPageSize: 4 kB
414
+ MMUPageSize: 4 kB
415
+ Locked: 0 kB
416
+ VmFlags: rd wr mr mw me ac
417
+ 7f29000c1000-7f29000c6000 rw-p 00000000 00:00 0
418
+ Size: 20 kB
419
+ Rss: 16 kB
420
+ Pss: 16 kB
421
+ Shared_Clean: 0 kB
422
+ Shared_Dirty: 0 kB
423
+ Private_Clean: 0 kB
424
+ Private_Dirty: 16 kB
425
+ Referenced: 16 kB
426
+ Anonymous: 16 kB
427
+ AnonHugePages: 0 kB
428
+ Swap: 0 kB
429
+ KernelPageSize: 4 kB
430
+ MMUPageSize: 4 kB
431
+ Locked: 0 kB
432
+ VmFlags: rd wr mr mw me ac
433
+ 7f29000c6000-7f29000c8000 r-xp 00000000 07:01 81095 /lib/libdl-2.11.1.so
434
+ Size: 8 kB
435
+ Rss: 8 kB
436
+ Pss: 0 kB
437
+ Shared_Clean: 8 kB
438
+ Shared_Dirty: 0 kB
439
+ Private_Clean: 0 kB
440
+ Private_Dirty: 0 kB
441
+ Referenced: 8 kB
442
+ Anonymous: 0 kB
443
+ AnonHugePages: 0 kB
444
+ Swap: 0 kB
445
+ KernelPageSize: 4 kB
446
+ MMUPageSize: 4 kB
447
+ Locked: 0 kB
448
+ VmFlags: rd ex mr mw me
449
+ 7f29000c8000-7f29002c8000 ---p 00002000 07:01 81095 /lib/libdl-2.11.1.so
450
+ Size: 2048 kB
451
+ Rss: 0 kB
452
+ Pss: 0 kB
453
+ Shared_Clean: 0 kB
454
+ Shared_Dirty: 0 kB
455
+ Private_Clean: 0 kB
456
+ Private_Dirty: 0 kB
457
+ Referenced: 0 kB
458
+ Anonymous: 0 kB
459
+ AnonHugePages: 0 kB
460
+ Swap: 0 kB
461
+ KernelPageSize: 4 kB
462
+ MMUPageSize: 4 kB
463
+ Locked: 0 kB
464
+ VmFlags: mr mw me
465
+ 7f29002c8000-7f29002c9000 r--p 00002000 07:01 81095 /lib/libdl-2.11.1.so
466
+ Size: 4 kB
467
+ Rss: 4 kB
468
+ Pss: 4 kB
469
+ Shared_Clean: 0 kB
470
+ Shared_Dirty: 0 kB
471
+ Private_Clean: 0 kB
472
+ Private_Dirty: 4 kB
473
+ Referenced: 4 kB
474
+ Anonymous: 4 kB
475
+ AnonHugePages: 0 kB
476
+ Swap: 0 kB
477
+ KernelPageSize: 4 kB
478
+ MMUPageSize: 4 kB
479
+ Locked: 0 kB
480
+ VmFlags: rd mr mw me ac
481
+ 7f29002c9000-7f29002ca000 rw-p 00003000 07:01 81095 /lib/libdl-2.11.1.so
482
+ Size: 4 kB
483
+ Rss: 4 kB
484
+ Pss: 4 kB
485
+ Shared_Clean: 0 kB
486
+ Shared_Dirty: 0 kB
487
+ Private_Clean: 0 kB
488
+ Private_Dirty: 4 kB
489
+ Referenced: 4 kB
490
+ Anonymous: 4 kB
491
+ AnonHugePages: 0 kB
492
+ Swap: 0 kB
493
+ KernelPageSize: 4 kB
494
+ MMUPageSize: 4 kB
495
+ Locked: 0 kB
496
+ VmFlags: rd wr mr mw me ac
497
+ 7f29002ca000-7f2900308000 r-xp 00000000 07:01 81113 /lib/libncurses.so.5.7
498
+ Size: 248 kB
499
+ Rss: 136 kB
500
+ Pss: 77 kB
501
+ Shared_Clean: 68 kB
502
+ Shared_Dirty: 0 kB
503
+ Private_Clean: 68 kB
504
+ Private_Dirty: 0 kB
505
+ Referenced: 136 kB
506
+ Anonymous: 0 kB
507
+ AnonHugePages: 0 kB
508
+ Swap: 0 kB
509
+ KernelPageSize: 4 kB
510
+ MMUPageSize: 4 kB
511
+ Locked: 0 kB
512
+ VmFlags: rd ex mr mw me
513
+ 7f2900308000-7f2900508000 ---p 0003e000 07:01 81113 /lib/libncurses.so.5.7
514
+ Size: 2048 kB
515
+ Rss: 0 kB
516
+ Pss: 0 kB
517
+ Shared_Clean: 0 kB
518
+ Shared_Dirty: 0 kB
519
+ Private_Clean: 0 kB
520
+ Private_Dirty: 0 kB
521
+ Referenced: 0 kB
522
+ Anonymous: 0 kB
523
+ AnonHugePages: 0 kB
524
+ Swap: 0 kB
525
+ KernelPageSize: 4 kB
526
+ MMUPageSize: 4 kB
527
+ Locked: 0 kB
528
+ VmFlags: mr mw me
529
+ 7f2900508000-7f290050c000 r--p 0003e000 07:01 81113 /lib/libncurses.so.5.7
530
+ Size: 16 kB
531
+ Rss: 16 kB
532
+ Pss: 16 kB
533
+ Shared_Clean: 0 kB
534
+ Shared_Dirty: 0 kB
535
+ Private_Clean: 0 kB
536
+ Private_Dirty: 16 kB
537
+ Referenced: 16 kB
538
+ Anonymous: 16 kB
539
+ AnonHugePages: 0 kB
540
+ Swap: 0 kB
541
+ KernelPageSize: 4 kB
542
+ MMUPageSize: 4 kB
543
+ Locked: 0 kB
544
+ VmFlags: rd mr mw me ac
545
+ 7f290050c000-7f290050d000 rw-p 00042000 07:01 81113 /lib/libncurses.so.5.7
546
+ Size: 4 kB
547
+ Rss: 4 kB
548
+ Pss: 4 kB
549
+ Shared_Clean: 0 kB
550
+ Shared_Dirty: 0 kB
551
+ Private_Clean: 0 kB
552
+ Private_Dirty: 4 kB
553
+ Referenced: 4 kB
554
+ Anonymous: 4 kB
555
+ AnonHugePages: 0 kB
556
+ Swap: 0 kB
557
+ KernelPageSize: 4 kB
558
+ MMUPageSize: 4 kB
559
+ Locked: 0 kB
560
+ VmFlags: rd wr mr mw me ac
561
+ 7f290050d000-7f290052d000 r-xp 00000000 07:01 81079 /lib/ld-2.11.1.so
562
+ Size: 128 kB
563
+ Rss: 112 kB
564
+ Pss: 0 kB
565
+ Shared_Clean: 112 kB
566
+ Shared_Dirty: 0 kB
567
+ Private_Clean: 0 kB
568
+ Private_Dirty: 0 kB
569
+ Referenced: 112 kB
570
+ Anonymous: 0 kB
571
+ AnonHugePages: 0 kB
572
+ Swap: 0 kB
573
+ KernelPageSize: 4 kB
574
+ MMUPageSize: 4 kB
575
+ Locked: 0 kB
576
+ VmFlags: rd ex mr mw me dw
577
+ 7f29005b9000-7f29005f8000 r--p 00000000 07:01 33875 /usr/lib/locale/en_US.utf8/LC_CTYPE
578
+ Size: 252 kB
579
+ Rss: 24 kB
580
+ Pss: 8 kB
581
+ Shared_Clean: 16 kB
582
+ Shared_Dirty: 0 kB
583
+ Private_Clean: 8 kB
584
+ Private_Dirty: 0 kB
585
+ Referenced: 24 kB
586
+ Anonymous: 0 kB
587
+ AnonHugePages: 0 kB
588
+ Swap: 0 kB
589
+ KernelPageSize: 4 kB
590
+ MMUPageSize: 4 kB
591
+ Locked: 0 kB
592
+ VmFlags: rd mr mw me
593
+ 7f29005f8000-7f2900716000 r--p 00000000 07:01 33874 /usr/lib/locale/en_US.utf8/LC_COLLATE
594
+ Size: 1144 kB
595
+ Rss: 12 kB
596
+ Pss: 1 kB
597
+ Shared_Clean: 12 kB
598
+ Shared_Dirty: 0 kB
599
+ Private_Clean: 0 kB
600
+ Private_Dirty: 0 kB
601
+ Referenced: 12 kB
602
+ Anonymous: 0 kB
603
+ AnonHugePages: 0 kB
604
+ Swap: 0 kB
605
+ KernelPageSize: 4 kB
606
+ MMUPageSize: 4 kB
607
+ Locked: 0 kB
608
+ VmFlags: rd mr mw me
609
+ 7f2900716000-7f2900719000 rw-p 00000000 00:00 0
610
+ Size: 12 kB
611
+ Rss: 12 kB
612
+ Pss: 12 kB
613
+ Shared_Clean: 0 kB
614
+ Shared_Dirty: 0 kB
615
+ Private_Clean: 0 kB
616
+ Private_Dirty: 12 kB
617
+ Referenced: 12 kB
618
+ Anonymous: 12 kB
619
+ AnonHugePages: 0 kB
620
+ Swap: 0 kB
621
+ KernelPageSize: 4 kB
622
+ MMUPageSize: 4 kB
623
+ Locked: 0 kB
624
+ VmFlags: rd wr mr mw me ac
625
+ 7f2900719000-7f290071a000 r--p 00000000 07:01 33880 /usr/lib/locale/en_US.utf8/LC_NUMERIC
626
+ Size: 4 kB
627
+ Rss: 4 kB
628
+ Pss: 0 kB
629
+ Shared_Clean: 4 kB
630
+ Shared_Dirty: 0 kB
631
+ Private_Clean: 0 kB
632
+ Private_Dirty: 0 kB
633
+ Referenced: 4 kB
634
+ Anonymous: 0 kB
635
+ AnonHugePages: 0 kB
636
+ Swap: 0 kB
637
+ KernelPageSize: 4 kB
638
+ MMUPageSize: 4 kB
639
+ Locked: 0 kB
640
+ VmFlags: rd mr mw me
641
+ 7f290071a000-7f290071b000 r--p 00000000 07:01 33883 /usr/lib/locale/en_US.utf8/LC_TIME
642
+ Size: 4 kB
643
+ Rss: 4 kB
644
+ Pss: 0 kB
645
+ Shared_Clean: 4 kB
646
+ Shared_Dirty: 0 kB
647
+ Private_Clean: 0 kB
648
+ Private_Dirty: 0 kB
649
+ Referenced: 4 kB
650
+ Anonymous: 0 kB
651
+ AnonHugePages: 0 kB
652
+ Swap: 0 kB
653
+ KernelPageSize: 4 kB
654
+ MMUPageSize: 4 kB
655
+ Locked: 0 kB
656
+ VmFlags: rd mr mw me
657
+ 7f290071b000-7f290071c000 r--p 00000000 07:01 33878 /usr/lib/locale/en_US.utf8/LC_MONETARY
658
+ Size: 4 kB
659
+ Rss: 4 kB
660
+ Pss: 0 kB
661
+ Shared_Clean: 4 kB
662
+ Shared_Dirty: 0 kB
663
+ Private_Clean: 0 kB
664
+ Private_Dirty: 0 kB
665
+ Referenced: 4 kB
666
+ Anonymous: 0 kB
667
+ AnonHugePages: 0 kB
668
+ Swap: 0 kB
669
+ KernelPageSize: 4 kB
670
+ MMUPageSize: 4 kB
671
+ Locked: 0 kB
672
+ VmFlags: rd mr mw me
673
+ 7f290071c000-7f290071d000 r--p 00000000 07:01 48708 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
674
+ Size: 4 kB
675
+ Rss: 4 kB
676
+ Pss: 0 kB
677
+ Shared_Clean: 4 kB
678
+ Shared_Dirty: 0 kB
679
+ Private_Clean: 0 kB
680
+ Private_Dirty: 0 kB
681
+ Referenced: 4 kB
682
+ Anonymous: 0 kB
683
+ AnonHugePages: 0 kB
684
+ Swap: 0 kB
685
+ KernelPageSize: 4 kB
686
+ MMUPageSize: 4 kB
687
+ Locked: 0 kB
688
+ VmFlags: rd mr mw me
689
+ 7f290071d000-7f290071e000 r--p 00000000 07:01 33881 /usr/lib/locale/en_US.utf8/LC_PAPER
690
+ Size: 4 kB
691
+ Rss: 4 kB
692
+ Pss: 0 kB
693
+ Shared_Clean: 4 kB
694
+ Shared_Dirty: 0 kB
695
+ Private_Clean: 0 kB
696
+ Private_Dirty: 0 kB
697
+ Referenced: 4 kB
698
+ Anonymous: 0 kB
699
+ AnonHugePages: 0 kB
700
+ Swap: 0 kB
701
+ KernelPageSize: 4 kB
702
+ MMUPageSize: 4 kB
703
+ Locked: 0 kB
704
+ VmFlags: rd mr mw me
705
+ 7f290071e000-7f290071f000 r--p 00000000 07:01 33879 /usr/lib/locale/en_US.utf8/LC_NAME
706
+ Size: 4 kB
707
+ Rss: 4 kB
708
+ Pss: 0 kB
709
+ Shared_Clean: 4 kB
710
+ Shared_Dirty: 0 kB
711
+ Private_Clean: 0 kB
712
+ Private_Dirty: 0 kB
713
+ Referenced: 4 kB
714
+ Anonymous: 0 kB
715
+ AnonHugePages: 0 kB
716
+ Swap: 0 kB
717
+ KernelPageSize: 4 kB
718
+ MMUPageSize: 4 kB
719
+ Locked: 0 kB
720
+ VmFlags: rd mr mw me
721
+ 7f290071f000-7f2900720000 r--p 00000000 07:01 33873 /usr/lib/locale/en_US.utf8/LC_ADDRESS
722
+ Size: 4 kB
723
+ Rss: 4 kB
724
+ Pss: 0 kB
725
+ Shared_Clean: 4 kB
726
+ Shared_Dirty: 0 kB
727
+ Private_Clean: 0 kB
728
+ Private_Dirty: 0 kB
729
+ Referenced: 4 kB
730
+ Anonymous: 0 kB
731
+ AnonHugePages: 0 kB
732
+ Swap: 0 kB
733
+ KernelPageSize: 4 kB
734
+ MMUPageSize: 4 kB
735
+ Locked: 0 kB
736
+ VmFlags: rd mr mw me
737
+ 7f2900720000-7f2900721000 r--p 00000000 07:01 33882 /usr/lib/locale/en_US.utf8/LC_TELEPHONE
738
+ Size: 4 kB
739
+ Rss: 4 kB
740
+ Pss: 0 kB
741
+ Shared_Clean: 4 kB
742
+ Shared_Dirty: 0 kB
743
+ Private_Clean: 0 kB
744
+ Private_Dirty: 0 kB
745
+ Referenced: 4 kB
746
+ Anonymous: 0 kB
747
+ AnonHugePages: 0 kB
748
+ Swap: 0 kB
749
+ KernelPageSize: 4 kB
750
+ MMUPageSize: 4 kB
751
+ Locked: 0 kB
752
+ VmFlags: rd mr mw me
753
+ 7f2900721000-7f2900722000 r--p 00000000 07:01 33877 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT
754
+ Size: 4 kB
755
+ Rss: 4 kB
756
+ Pss: 0 kB
757
+ Shared_Clean: 4 kB
758
+ Shared_Dirty: 0 kB
759
+ Private_Clean: 0 kB
760
+ Private_Dirty: 0 kB
761
+ Referenced: 4 kB
762
+ Anonymous: 0 kB
763
+ AnonHugePages: 0 kB
764
+ Swap: 0 kB
765
+ KernelPageSize: 4 kB
766
+ MMUPageSize: 4 kB
767
+ Locked: 0 kB
768
+ VmFlags: rd mr mw me
769
+ 7f2900722000-7f2900729000 r--s 00000000 07:01 97395 /usr/lib/gconv/gconv-modules.cache
770
+ Size: 28 kB
771
+ Rss: 20 kB
772
+ Pss: 0 kB
773
+ Shared_Clean: 20 kB
774
+ Shared_Dirty: 0 kB
775
+ Private_Clean: 0 kB
776
+ Private_Dirty: 0 kB
777
+ Referenced: 20 kB
778
+ Anonymous: 0 kB
779
+ AnonHugePages: 0 kB
780
+ Swap: 0 kB
781
+ KernelPageSize: 4 kB
782
+ MMUPageSize: 4 kB
783
+ Locked: 0 kB
784
+ VmFlags: rd mr me ms
785
+ 7f2900729000-7f290072a000 r--p 00000000 07:01 33876 /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
786
+ Size: 4 kB
787
+ Rss: 4 kB
788
+ Pss: 0 kB
789
+ Shared_Clean: 4 kB
790
+ Shared_Dirty: 0 kB
791
+ Private_Clean: 0 kB
792
+ Private_Dirty: 0 kB
793
+ Referenced: 4 kB
794
+ Anonymous: 0 kB
795
+ AnonHugePages: 0 kB
796
+ Swap: 0 kB
797
+ KernelPageSize: 4 kB
798
+ MMUPageSize: 4 kB
799
+ Locked: 0 kB
800
+ VmFlags: rd mr mw me
801
+ 7f290072a000-7f290072c000 rw-p 00000000 00:00 0
802
+ Size: 8 kB
803
+ Rss: 8 kB
804
+ Pss: 8 kB
805
+ Shared_Clean: 0 kB
806
+ Shared_Dirty: 0 kB
807
+ Private_Clean: 0 kB
808
+ Private_Dirty: 8 kB
809
+ Referenced: 8 kB
810
+ Anonymous: 8 kB
811
+ AnonHugePages: 0 kB
812
+ Swap: 0 kB
813
+ KernelPageSize: 4 kB
814
+ MMUPageSize: 4 kB
815
+ Locked: 0 kB
816
+ VmFlags: rd wr mr mw me ac
817
+ 7f290072c000-7f290072d000 r--p 0001f000 07:01 81079 /lib/ld-2.11.1.so
818
+ Size: 4 kB
819
+ Rss: 4 kB
820
+ Pss: 4 kB
821
+ Shared_Clean: 0 kB
822
+ Shared_Dirty: 0 kB
823
+ Private_Clean: 0 kB
824
+ Private_Dirty: 4 kB
825
+ Referenced: 4 kB
826
+ Anonymous: 4 kB
827
+ AnonHugePages: 0 kB
828
+ Swap: 0 kB
829
+ KernelPageSize: 4 kB
830
+ MMUPageSize: 4 kB
831
+ Locked: 0 kB
832
+ VmFlags: rd mr mw me dw ac
833
+ 7f290072d000-7f290072e000 rw-p 00020000 07:01 81079 /lib/ld-2.11.1.so
834
+ Size: 4 kB
835
+ Rss: 4 kB
836
+ Pss: 4 kB
837
+ Shared_Clean: 0 kB
838
+ Shared_Dirty: 0 kB
839
+ Private_Clean: 0 kB
840
+ Private_Dirty: 4 kB
841
+ Referenced: 4 kB
842
+ Anonymous: 4 kB
843
+ AnonHugePages: 0 kB
844
+ Swap: 0 kB
845
+ KernelPageSize: 4 kB
846
+ MMUPageSize: 4 kB
847
+ Locked: 0 kB
848
+ VmFlags: rd wr mr mw me dw ac
849
+ 7f290072e000-7f290072f000 rw-p 00000000 00:00 0
850
+ Size: 4 kB
851
+ Rss: 4 kB
852
+ Pss: 4 kB
853
+ Shared_Clean: 0 kB
854
+ Shared_Dirty: 0 kB
855
+ Private_Clean: 0 kB
856
+ Private_Dirty: 4 kB
857
+ Referenced: 4 kB
858
+ Anonymous: 4 kB
859
+ AnonHugePages: 0 kB
860
+ Swap: 0 kB
861
+ KernelPageSize: 4 kB
862
+ MMUPageSize: 4 kB
863
+ Locked: 0 kB
864
+ VmFlags: rd wr mr mw me ac
865
+ 7ffff83a4000-7ffff83c5000 rw-p 00000000 00:00 0 [stack]
866
+ Size: 136 kB
867
+ Rss: 28 kB
868
+ Pss: 28 kB
869
+ Shared_Clean: 0 kB
870
+ Shared_Dirty: 0 kB
871
+ Private_Clean: 0 kB
872
+ Private_Dirty: 28 kB
873
+ Referenced: 28 kB
874
+ Anonymous: 28 kB
875
+ AnonHugePages: 0 kB
876
+ Swap: 0 kB
877
+ KernelPageSize: 4 kB
878
+ MMUPageSize: 4 kB
879
+ Locked: 0 kB
880
+ VmFlags: rd wr mr mw me gd ac
881
+ 7ffff83fe000-7ffff8400000 r-xp 00000000 00:00 0 [vdso]
882
+ Size: 8 kB
883
+ Rss: 4 kB
884
+ Pss: 0 kB
885
+ Shared_Clean: 4 kB
886
+ Shared_Dirty: 0 kB
887
+ Private_Clean: 0 kB
888
+ Private_Dirty: 0 kB
889
+ Referenced: 4 kB
890
+ Anonymous: 0 kB
891
+ AnonHugePages: 0 kB
892
+ Swap: 0 kB
893
+ KernelPageSize: 4 kB
894
+ MMUPageSize: 4 kB
895
+ Locked: 0 kB
896
+ VmFlags: rd ex mr mw me de
897
+ ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
898
+ Size: 4 kB
899
+ Rss: 0 kB
900
+ Pss: 0 kB
901
+ Shared_Clean: 0 kB
902
+ Shared_Dirty: 0 kB
903
+ Private_Clean: 0 kB
904
+ Private_Dirty: 0 kB
905
+ Referenced: 0 kB
906
+ Anonymous: 0 kB
907
+ AnonHugePages: 0 kB
908
+ Swap: 0 kB
909
+ KernelPageSize: 4 kB
910
+ MMUPageSize: 4 kB
911
+ Locked: 0 kB
912
+ VmFlags: rd ex
@@ -13,28 +13,35 @@ class GetProcessMemTest < Test::Unit::TestCase
13
13
  assert @mem.bytes > 0
14
14
  end
15
15
 
16
+ def test_linux_smap
17
+ delta = 1
18
+ bytes = @mem.linux_memory(fixture_path("heroku-bash-smap"))
19
+ assert_in_delta BigDecimal.new("1217024.0"), bytes, delta
20
+ end
21
+
16
22
  def test_conversions
17
23
  bytes = 0
18
- assert_equal 0.0, @mem.kb(bytes)
19
- assert_equal 0.0, @mem.mb(bytes)
20
- assert_equal 0.0, @mem.gb(bytes)
24
+ delta = BigDecimal.new("0.0000001")
25
+ assert_in_delta 0.0, @mem.kb(bytes), delta
26
+ assert_in_delta 0.0, @mem.mb(bytes), delta
27
+ assert_in_delta 0.0, @mem.gb(bytes), delta
21
28
 
22
29
  # kb
23
30
  bytes = 1024
24
- assert_equal 1.0, @mem.kb(bytes)
25
- assert_equal 0.0009765625, @mem.mb(bytes)
26
- assert_equal 9.5367431640625e-07, @mem.gb(bytes)
31
+ assert_in_delta 1.0, @mem.kb(bytes), delta
32
+ assert_in_delta 0.0009765625, @mem.mb(bytes), delta
33
+ assert_in_delta 9.5367431640625e-07, @mem.gb(bytes), delta
27
34
 
28
35
  # mb
29
36
  bytes = 1_048_576
30
- assert_equal 1024.0, @mem.kb(bytes)
31
- assert_equal 1.0, @mem.mb(bytes)
32
- assert_equal 0.0009765625, @mem.gb(bytes)
37
+ assert_in_delta 1024.0, @mem.kb(bytes), delta
38
+ assert_in_delta 1.0, @mem.mb(bytes), delta
39
+ assert_in_delta 0.0009765625, @mem.gb(bytes), delta
33
40
 
34
41
  # gb
35
42
  bytes = 1_073_741_824
36
- assert_equal 1048576.0, @mem.kb(bytes)
37
- assert_equal 1024.0, @mem.mb(bytes)
38
- assert_equal 1.0, @mem.gb(bytes)
43
+ assert_in_delta 1048576.0, @mem.kb(bytes), delta
44
+ assert_in_delta 1024.0, @mem.mb(bytes), delta
45
+ assert_in_delta 1.0, @mem.gb(bytes), delta
39
46
  end
40
47
  end
@@ -3,3 +3,8 @@ Bundler.require
3
3
  require 'get_process_mem'
4
4
  require 'test/unit'
5
5
 
6
+ def fixture_path(name = nil)
7
+ path = Pathname.new(File.expand_path("../fixtures", __FILE__))
8
+ return path.join(name) if name
9
+ path
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: get_process_mem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Schneeman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-10 00:00:00.000000000 Z
11
+ date: 2014-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -33,13 +33,14 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - ".gitignore"
35
35
  - ".travis.yml"
36
+ - CHANGELOG.md
36
37
  - Gemfile
37
- - Gemfile.lock
38
38
  - README.md
39
39
  - Rakefile
40
40
  - get_process_mem.gemspec
41
41
  - lib/get_process_mem.rb
42
42
  - lib/get_process_mem/version.rb
43
+ - test/fixtures/heroku-bash-smap
43
44
  - test/get_process_mem_test.rb
44
45
  - test/test_helper.rb
45
46
  homepage: https://github.com/schneems/get_process_mem
@@ -62,11 +63,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
63
  version: '0'
63
64
  requirements: []
64
65
  rubyforge_project:
65
- rubygems_version: 2.2.0
66
+ rubygems_version: 2.2.2
66
67
  signing_key:
67
68
  specification_version: 4
68
69
  summary: Use GetProcessMem to find out the amount of RAM used by any process
69
70
  test_files:
71
+ - test/fixtures/heroku-bash-smap
70
72
  - test/get_process_mem_test.rb
71
73
  - test/test_helper.rb
72
- has_rdoc:
@@ -1,16 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- get_process_mem (0.0.1)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- rake (10.1.1)
10
-
11
- PLATFORMS
12
- ruby
13
-
14
- DEPENDENCIES
15
- get_process_mem!
16
- rake (~> 10.1)