root / plugins / passenger / passenger_memory @ b0b39b01
Historique | Voir | Annoter | Télécharger (903 octets)
| 1 |
#!/usr/bin/env ruby |
|---|---|
| 2 |
# |
| 3 |
# Be sure to configure this node in the plugin configuration |
| 4 |
# Memory stats must be run by root |
| 5 |
# Ex: |
| 6 |
# [passenger_memory] |
| 7 |
# user root |
| 8 |
# env.memory_stats_command path_to_passenger-memory-stats |
| 9 |
# |
| 10 |
|
| 11 |
memory_stats_command = ENV['memory_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-memory-stats' |
| 12 |
|
| 13 |
if ARGV.length > 0 && ARGV[0] == 'config' |
| 14 |
puts "graph_title Passenger Memory Usage" |
| 15 |
puts "graph_category webserver" |
| 16 |
puts "graph_vlabel MB" |
| 17 |
puts "apache_rss.label Apache Dirty RSS" |
| 18 |
puts "passenger_rss.label Passenger Dirty RSS" |
| 19 |
exit(0) |
| 20 |
end |
| 21 |
|
| 22 |
apache_rss = nil |
| 23 |
passenger_rss = nil |
| 24 |
|
| 25 |
`#{memory_stats_command}`.each_line do |line|
|
| 26 |
next unless /### Total private dirty RSS: (\d+\.\d+) MB/.match(line) |
| 27 |
|
| 28 |
passenger_rss = $~[1] unless apache_rss.nil? |
| 29 |
apache_rss ||= $~[1] |
| 30 |
end |
| 31 |
|
| 32 |
puts "apache_rss.value #{apache_rss}"
|
| 33 |
puts "passenger_rss.value #{passenger_rss}"
|
