Sha256: 0c211d5b13e512f383b7530f6b32e9fef34f207b67ce7c23e968fafec2bdf872

Contents?: true

Size: 798 Bytes

Versions: 28

Compression:

Stored size: 798 Bytes

Contents

begin
  require 'win32ole'
rescue LoadError
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

28 entries across 28 versions & 1 rubygems

Version Path
spiderfw-0.6.21 lib/spiderfw/utils/memory.rb
spiderfw-0.6.20 lib/spiderfw/utils/memory.rb
spiderfw-0.6.19 lib/spiderfw/utils/memory.rb
spiderfw-0.6.18 lib/spiderfw/utils/memory.rb
spiderfw-0.6.17 lib/spiderfw/utils/memory.rb
spiderfw-0.6.16 lib/spiderfw/utils/memory.rb
spiderfw-0.6.15 lib/spiderfw/utils/memory.rb
spiderfw-0.6.14 lib/spiderfw/utils/memory.rb
spiderfw-0.6.13 lib/spiderfw/utils/memory.rb
spiderfw-0.6.12 lib/spiderfw/utils/memory.rb
spiderfw-0.6.11 lib/spiderfw/utils/memory.rb
spiderfw-0.6.10 lib/spiderfw/utils/memory.rb
spiderfw-0.6.9 lib/spiderfw/utils/memory.rb
spiderfw-0.6.8 lib/spiderfw/utils/memory.rb
spiderfw-0.6.7 lib/spiderfw/utils/memory.rb
spiderfw-0.6.6 lib/spiderfw/utils/memory.rb
spiderfw-0.6.5 lib/spiderfw/utils/memory.rb
spiderfw-0.6.4 lib/spiderfw/utils/memory.rb
spiderfw-0.6.3 lib/spiderfw/utils/memory.rb
spiderfw-0.6.2 lib/spiderfw/utils/memory.rb