Inspiration from Linux Find Out What Process Are Using Swap Space:
/proc/meminfo – This file reports statistics about memory usage on the system. It is used by free to report the amount of free and used memory (both physical and swap) on the system as well as the shared memory and buffers used by the kernel. You can also use free, vmstat and other tools to find out the same information.
/proc/${PID}/smaps, /proc/${PID}/status, and /proc/${PID}/stat : Use these files to find information about memory, pages and swap used by each process using its PID.
From Top, something like:
KiB Mem : 16414448 total, 2233536 free, 10902532 used, 3278380 buff/cache KiB Swap: 9764860 total, 3628544 free, 6136316 used. 4156564 avail Mem
Where is the swap space going? The following will list in descending sorted order:
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
By using 'f' in Top, the SWAP field can be added to the display. LXC containers can also be added to the display. Then the listing can be sorted by SWAP to determine highest to lowest swap usage, and in what container, if any, is/are the offending process(es). As a note: SWAP approximately is VIRT - RES (total virtual memory - resident memory) -- with various notes abounding about the truthfulness of this.