Sha256: 3d06077db415cbc594b77070eeb398cb7f30691d37f569048779c75ddf7b1596
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. class SwapUsage def initialize @processes = {} end def get_processes Dir['/proc/[0-9]*'].map do |pid_dir| pid = File.basename(pid_dir).to_i cmd = File.read("#{pid_dir}/cmdline").tr("\x00", ' ').strip swap = File.read("#{pid_dir}/status")[/^VmSwap:\s+([0-9]+)\s+kB$/, 1].to_i @processes[pid] = { cmd: cmd, swap: swap } if swap.positive? end end def show @processes.sort_by { |_, v| v[:swap] }.each do |pid, values| puts "#{values[:swap]} kB [#{pid}] #{values[:cmd]}" end end def run get_processes show end end SwapUsage.new.run
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
swapus-1.0.2 | bin/swapus |