capelinhos 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/capelinhos/processor.rb +11 -1
- data/lib/capelinhos/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78e1daf01cf2cdb53f94de1f68f88d014ae4f5d849a1efd13f5db6bec159b0b6
|
4
|
+
data.tar.gz: 44a494709edc3bd69d4a00a76dc2ca3ddb28b9950fe17414c34768d26a0b1e71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b4fdaecc769d87f5b0649bb9b00f90e8aade2c5c5c0901b5eef16c348b24b75ee4ec190cc9f6b2cf87e8721dd4d8726ba08ec984df0a42c97c5260850cbe397
|
7
|
+
data.tar.gz: fd64de034e829cf6dbe88a7d00bda14a7e536cb3fd09bf56124d2420ff31f1695d9ec7fd0686cca79a17f8ef61dc04eec22f474fd710ae0104f87e2715c16217
|
data/lib/capelinhos/processor.rb
CHANGED
@@ -14,9 +14,15 @@ module Capelinhos
|
|
14
14
|
stats = AdminTools::MemoryStats.new
|
15
15
|
processes = stats.passenger_processes
|
16
16
|
|
17
|
+
if !supports_private_dirty_rss?(processes)
|
18
|
+
puts "This system doesn't support private dirty RSS. Falling back to RSS"
|
19
|
+
end
|
20
|
+
|
21
|
+
rss_type = supports_private_dirty_rss?(processes) ? :private_dirty_rss : :rss
|
22
|
+
|
17
23
|
processes.each do |process|
|
18
24
|
if process.name.include?('RubyApp')
|
19
|
-
rss_megabytes = process.
|
25
|
+
rss_megabytes = process.send(rss_type) / 1024
|
20
26
|
if rss_megabytes > @memory_threshold
|
21
27
|
shutdown_process(process.pid)
|
22
28
|
processes_killed += 1
|
@@ -31,6 +37,10 @@ module Capelinhos
|
|
31
37
|
|
32
38
|
private
|
33
39
|
|
40
|
+
def supports_private_dirty_rss?(processes)
|
41
|
+
processes.any?{|p| !p.private_dirty_rss.nil?}
|
42
|
+
end
|
43
|
+
|
34
44
|
def shutdown_process(pid)
|
35
45
|
_instance = instance
|
36
46
|
request = Net::HTTP::Post.new("/pool/detach_process.json")
|
data/lib/capelinhos/version.rb
CHANGED