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

Version Path
spiderfw-1.0.1 lib/spiderfw/utils/memory.rb
spiderfw-1.0.0 lib/spiderfw/utils/memory.rb
spiderfw-0.6.39 lib/spiderfw/utils/memory.rb
spiderfw-0.6.38 lib/spiderfw/utils/memory.rb
spiderfw-0.6.37 lib/spiderfw/utils/memory.rb
spiderfw-0.6.35 lib/spiderfw/utils/memory.rb
spiderfw-0.6.34 lib/spiderfw/utils/memory.rb
spiderfw-0.6.33 lib/spiderfw/utils/memory.rb
spiderfw-0.6.32 lib/spiderfw/utils/memory.rb
spiderfw-0.6.31 lib/spiderfw/utils/memory.rb
spiderfw-0.6.30 lib/spiderfw/utils/memory.rb
spiderfw-0.6.29 lib/spiderfw/utils/memory.rb
spiderfw-0.6.28 lib/spiderfw/utils/memory.rb
spiderfw-0.6.27 lib/spiderfw/utils/memory.rb
spiderfw-0.6.26 lib/spiderfw/utils/memory.rb
spiderfw-0.6.26.pre1 lib/spiderfw/utils/memory.rb
spiderfw-0.6.25 lib/spiderfw/utils/memory.rb
spiderfw-0.6.24 lib/spiderfw/utils/memory.rb
spiderfw-0.6.23 lib/spiderfw/utils/memory.rb
spiderfw-0.6.22 lib/spiderfw/utils/memory.rb