Hi! On Wed, Mar 11, 2009 at 15:44, Paul Davis <paul.da...@sun.com> wrote:
> Is there a tool available that can incrementally consume memory in a zone? How about just doing malloc() calls until you hit your limit? Or is that a flawed approach? I wrote a small program which does just that; you can find it at http://askwar.pastebin.ca/1336018 and also attached to this mail, as it's so small. Alexander -- [ Soc. => http://twitter.com/alexs77 | http://www.plurk.com/alexs77 ] [ Mehr => http://zyb.com/alexws77 ] [ Chat => Jabber: alexw...@jabber80.com | Google Talk: a.sk...@gmail.com ] [ Mehr => MSN: alexw...@live.de | Yahoo!: askwar | ICQ: 350677419 ] Sent from: Schaffhausen Schaffhausen Schweiz.
#include <stdlib.h> /* malloc */ #include <stdio.h> int main(void) { /* Allocate space for an array with ten elements of type int. */ int *ptr1 = malloc(1 * 1024 * 1024 * 1024); if (ptr1 == NULL) { printf("1 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("1 Allocation succeeded. Do something.\n"); int *ptr2 = malloc(1 * 1024 * 1024 * 1024); if (ptr2 == NULL) { printf("2 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("2 Allocation succeeded. Do something.\n"); int *ptr3 = malloc(1 * 1024 * 1024 * 1024); if (ptr3 == NULL) { printf("3 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("3 Allocation succeeded. Do something.\n"); int *ptr4 = malloc(1 * 1024 * 1024 * 1024); if (ptr4 == NULL) { printf("4 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("4 Allocation succeeded. Do something.\n"); int *ptr5 = malloc(1 * 1024 * 1024 * 1024); if (ptr5 == NULL) { printf("5 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("5 Allocation succeeded. Do something.\n"); int *ptr6 = malloc(1 * 1024 * 1024 * 1024); if (ptr6 == NULL) { printf("6 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("6 Allocation succeeded. Do something.\n"); int *ptr7 = malloc(1 * 1024 * 1024 * 1024); if (ptr7 == NULL) { printf("7 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("7 Allocation succeeded. Do something.\n"); int *ptr8 = malloc(1 * 1024 * 1024 * 1024); if (ptr8 == NULL) { printf("8 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("8 Allocation succeeded. Do something.\n"); int *ptr9 = malloc(1 * 1024 * 1024 * 1024); if (ptr9 == NULL) { printf("9 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("9 Allocation succeeded. Do something.\n"); int *ptr10 = malloc(1 * 1024 * 1024 * 1024); if (ptr10 == NULL) { printf("10 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("10 Allocation succeeded. Do something.\n"); int *ptr11 = malloc(1 * 1024 * 1024 * 1024); if (ptr11 == NULL) { printf("11 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("11 Allocation succeeded. Do something.\n"); int *ptr12 = malloc(1 * 1024 * 1024 * 1024); if (ptr12 == NULL) { printf("12 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("12 Allocation succeeded. Do something.\n"); int *ptr13 = malloc(1 * 1024 * 1024 * 1024); if (ptr13 == NULL) { printf("13 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("13 Allocation succeeded. Do something.\n"); int *ptr14 = malloc(1 * 1024 * 1024 * 1024); if (ptr14 == NULL) { printf("14 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("14 Allocation succeeded. Do something.\n"); int *ptr15 = malloc(1 * 1024 * 1024 * 1024); if (ptr15 == NULL) { printf("15 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("15 Allocation succeeded. Do something.\n"); int *ptr16 = malloc(1 * 1024 * 1024 * 1024); if (ptr16 == NULL) { printf("16 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("16 Allocation succeeded. Do something.\n"); int *ptr17 = malloc(1 * 1024 * 1024 * 1024); if (ptr17 == NULL) { printf("17 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("17 Allocation succeeded. Do something.\n"); int *ptr18 = malloc(1 * 1024 * 1024 * 1024); if (ptr18 == NULL) { printf("18 Memory could not be allocated, the program should handle the error here as appropriate.\n"); } else { printf("18 Allocation succeeded. Do something.\n"); free(ptr18); } free(ptr17); } free(ptr16); } free(ptr15); } free(ptr14); } free(ptr13); } free(ptr12); } free(ptr11); } free(ptr10); } free(ptr9); } free(ptr8); } free(ptr7); } free(ptr6); } free(ptr5); } free(ptr4); } free(ptr3); } free(ptr2); } free(ptr1); /* We are done with the int objects, and free the associated pointer. The pointer must not be used again. */ } printf("Ende!\n"); return 0; } /* EOF */
_______________________________________________ zones-discuss mailing list zones-discuss@opensolaris.org