snipt

Ctrl+h for KB shortcuts

Bash

Get current swap usage for all running processes

#!/bin/bash
# Get current swap usage for all running processes

SUM=0
OVERALL=0

for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'` ; do
        let SUM=$SUM+$SWAP
    done
    echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "Overall swap used: $OVERALL"
https://snipt.net/embed/961dc9bcf60b215c3476d779e7a357be/
/raw/961dc9bcf60b215c3476d779e7a357be/
961dc9bcf60b215c3476d779e7a357be
bash
Bash
17
2019-08-24T16:18:46
True
False
False
/api/public/snipt/29625/
get-current-swap-usage-for-all-running-processes
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="ch">#!/bin/bash</span> </span><span id="L-2"><a name="L-2"></a><span class="c1"># Get current swap usage for all running processes</span> </span><span id="L-3"><a name="L-3"></a> </span><span id="L-4"><a name="L-4"></a><span class="nv">SUM</span><span class="o">=</span>0 </span><span id="L-5"><a name="L-5"></a><span class="nv">OVERALL</span><span class="o">=</span>0 </span><span id="L-6"><a name="L-6"></a> </span><span id="L-7"><a name="L-7"></a><span class="k">for</span> DIR in <span class="sb">`</span>find /proc/ -maxdepth <span class="m">1</span> -type d <span class="p">|</span> egrep <span class="s2">&quot;^/proc/[0-9]&quot;</span><span class="sb">`</span> <span class="p">;</span> <span class="k">do</span> </span><span id="L-8"><a name="L-8"></a> <span class="nv">PID</span><span class="o">=</span><span class="sb">`</span><span class="nb">echo</span> <span class="nv">$DIR</span> <span class="p">|</span> cut -d / -f 3<span class="sb">`</span> </span><span id="L-9"><a name="L-9"></a> <span class="nv">PROGNAME</span><span class="o">=</span><span class="sb">`</span>ps -p <span class="nv">$PID</span> -o comm --no-headers<span class="sb">`</span> </span><span id="L-10"><a name="L-10"></a> <span class="k">for</span> SWAP in <span class="sb">`</span>grep Swap <span class="nv">$DIR</span>/smaps 2&gt;/dev/null<span class="p">|</span> awk <span class="s1">&#39;{ print $2 }&#39;</span><span class="sb">`</span> <span class="p">;</span> <span class="k">do</span> </span><span id="L-11"><a name="L-11"></a> <span class="nb">let</span> <span class="nv">SUM</span><span class="o">=</span><span class="nv">$SUM</span>+<span class="nv">$SWAP</span> </span><span id="L-12"><a name="L-12"></a> <span class="k">done</span> </span><span id="L-13"><a name="L-13"></a> <span class="nb">echo</span> <span class="s2">&quot;PID=</span><span class="nv">$PID</span><span class="s2"> - Swap used: </span><span class="nv">$SUM</span><span class="s2"> - (</span><span class="nv">$PROGNAME</span><span class="s2"> )&quot;</span> </span><span id="L-14"><a name="L-14"></a> <span class="nb">let</span> <span class="nv">OVERALL</span><span class="o">=</span><span class="nv">$OVERALL</span>+<span class="nv">$SUM</span> </span><span id="L-15"><a name="L-15"></a> <span class="nv">SUM</span><span class="o">=</span>0 </span><span id="L-16"><a name="L-16"></a><span class="k">done</span> </span><span id="L-17"><a name="L-17"></a><span class="nb">echo</span> <span class="s2">&quot;Overall swap used: </span><span class="nv">$OVERALL</span><span class="s2">&quot;</span> </span></pre></div> </td></tr></table>
bash, memory, swap