The resizecons command tries to change the videomode of the console. There are several aspects to this: (a) the kernel must know about it, (b) the hardware must know about it, (c) user programs must know about it, (d) the console font may have to be adapted.
(a) The kernel is told about the change using the ioctl VT_RESIZE. This causes the kernel to reallocate console screen memory for all virtual consoles, and might fail if there is not enough memory. (In that case, try to disallocate some virtual consoles first.) If this ioctl succeeds, but a later step fails (e.g., because you do not have root permissions), you may be left with a very messy screen.
installed). Here COLSxROWS is a file that was created earlier by restoretextmode -w COLSxROWS. Again, either root permissions are required, or restoretextmode(8)? has to be suid root.
In order to deal with (c), resizecons does a `stty rows ROWS cols COLS' for each active console (in the range tty0..tty15), and sends a SIGWINCH signal to selection if it finds the file /tmp/selection.pid.