Sha256: 711a7d4c4b35f8bca788ca7efee77630ab1741564a14f7defe48f5b7e5e62f81
Contents?: true
Size: 886 Bytes
Versions: 20
Compression:
Stored size: 886 Bytes
Contents
require 'rbconfig' if RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ begin require 'win32ole' rescue LoadError end end module Spider module Memory def self.get_memory_usage if defined? WIN32OLE wmi = WIN32OLE.connect("winmgmts:root/cimv2") mem = 0 query = "select * from Win32_Process where ProcessID = #{$$}" wmi.ExecQuery(query).each do |wproc| mem = wproc.WorkingSetSize end mem.to_i / 1000 elsif proc_file = File.new("/proc/#{$$}/smaps") rescue nil proc_file.map do |line| size = line[/Size: *(\d+)/, 1] and size.to_i end.compact.inject(0){ |s, v| s += v } else `ps -o vsz= -p #{$$}`.to_i end end end end
Version data entries
20 entries across 20 versions & 1 rubygems