Messages in this thread |  | | From | Paul Gortmaker <> | Subject | Re: Dumping /dev/zero to the console | Date | Sun, 21 Jul 1996 00:14:21 +1000 (EST) |
| |
- From Webmaster (Nathan.Lewis@nixnet.qrp.com) Thu, 18 Jul 1996 15:22:58 +0000
>> On linux console, even as a non-priv user, do a: >> >> % dd if=/dev/zero bs=1024k > >That's basically the same as the "grep whatever /dev/zero" discussed >on this list a while back. >
No it is not the same. The "grep whatever /dev/zero" sucks up all mem if you don't have sensible limits, but the above doesn't. In fact it doesn't require /dev/zero at all. A 1MB zeroed block works equally as well. This simple program does the same thing: running it on a virtual console means I can barely type anything on another VC (one charater per 15sec or so) or barely move the mouse under X. Yet switching VC's or toggling a keyboard LED is instantaneous (Stuck in console_bh?). It is not an "out of RAM" issue, I can assure you of that. The same program can be run in an xterm with no effect. System is 2.0.7-aout with gcc2.7.2-aout and libc-4.7.5. No little elves in sight. I don't have the time to chase the source of the problem down at the moment, but sending large blocks of nulls to the console driver via stdout seems to do bad things.
Paul. --------------------------------------------- #include <sys/types.h> #include <unistd.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h>
void main(int argc, char **argv) {
int count=atoi(argv[1]); char buf[1024*1024];
memset(buf, 0, 1024*1024); fprintf(stderr,"Writing %d 1MB blocks of nulls to stdout\n",count); while (count--) write(1, buf, 1024*1024); }
|  |