Greetings -
I have some code which is supposed to get swap file usage information, though
I am getting some discrepencies (any clues as to why?):
code snippet:
#include <sys/table.h>
struct tbl_swapinfo t_swapinfo;
swap_info(void)
{
if( 0 > (table(TBL_SWAPINFO, -1, &t_swapinfo, 1, sizeof(t_swapinfo))) )
fprintf(stdout, "Can't get swap device information.\n");
abort(); /* dump core for me argentina */
}
(dbx) p t_swapinfo
struct {
flags = 1
size = 112306 <<<<<<<<<<<<< size (pages)
free = 93973 <<<<<<<<<<<<< free (pages)
dev = 8389633
ino = 0
}
swapon -s output from the same instant in time:
Swap partition /dev/rz1b (default swap):
Allocated space: 16896 pages (132MB)
In-use space: 5787 pages ( 34%)
Free space: 11109 pages ( 65%)
Swap partition /dev/rz3g:
Allocated space: 95410 pages (745MB)
In-use space: 5517 pages ( 5%)
Free space: 89893 pages ( 94%)
Total swap allocation:
Allocated space: 112306 pages (877MB) <<<<<<<<< size
Reserved space: 17017 pages ( 15%)
In-use space: 11304 pages ( 10%)
Available space: 95289 pages ( 84%) <<<<<<<<< free
So, why the discrepency? It doesn't matter if I'm using immediate or deferred
mode swapping, or if I have one or more swap partitions - apparently the
tbl_swapinfo table isn't getting updated as I expect.
Randy Hayman
haymanr_at_icefog.alaska.edu
Received on Wed Apr 23 1997 - 18:51:22 NZST