AminetAminet
Search:
84450 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/cli/AllocMem.lha

Mirror:Random
Showing:ppc-powerupgeneric
No screenshot available
Short:A command to decrease the available RAM
Author:Alex Carmona
Uploader:Alex Carmona <AmigaOne TheWorld net>
Type:util/cli
Version:1.3
Replaces:util/cli/AllocMem.lha
Architecture:ppc-amigaos >= 4.0.5
Date:2009-03-05
Download:http://aminet.net/util/cli/AllocMem.lha - View contents
Readme:http://aminet.net/util/cli/AllocMem.readme
Downloads:6228

DESCRIPTION

AllocMem is a Shell command which temporarily allocates memory.

Its main purpose is to artificially decrease the amount of RAM available
without having to copy a large file to the RAM Disk.


USAGE

AllocMem <Size> [<K/KB> or <M/MB>] <SHARED/MEMF_SHARED> (defaults to bytes)

Example: 'AllocMem 128 M SHARED'

It will allocate 128 megabytes of "public" RAM and wait for Ctrl-C.
Once it receives the Ctrl-C signal, it frees the memory and exits.

By default the Size value is measured in bytes, unless either the KB or MB
switch is provided.
If both switches are provided, the Size value will be converted to GigaBytes.

The command checks if the amount of requested memory is available and will exit
with a detailed error message if it can't be allocated.

This can happen not only if the requested memory exceeds the available memory,
but also if it would would leave less than a few hundred kilobytes free, as
Exec won't allow it. It's safe to try though.

Memory allocations can be shared (a.k.a. public) or private (swappable).
By default the allocation is private, allowing swapping to disk of the memory
pages allocated. 

The SHARED switch tells Exec that other programs need to have access to that
address space and consequently it won't be paged out.

Use that switch when you want the allocated memory to remain unavailable for
good, perhaps to cause the pager to kick in sooner when launching other tasks.

POSSIBLE APPLICATIONS

· Testing the behavior of programs under low memory conditions
· Testing disk-based virtual (swap) memory
· Simulating a µA1 w/256MB RAM on an XE with 512MB+
· Simulating a Classic Amiga w/128MB RAM on an A1
· Wasting memory for no good reason ;-)

I did my best to make sure that it won't cause any crash, however the OS may
become unstable if you allocate most of the free memory, leaving less than a
few megs available. I could have added some safeguards against that but it
would prevent testing such a scenario so I deliberately chose to allow it.

The original motivation behind writing that command was that some bug in the
BrowserII copy function prevents it from working unless the amount of free RAM
is below 256MB, and I wanted an alternative to copying 100MB+ of data to RAM:
to make it work. 
Since then, Stephan Rupprecht wrote "AvailMemPatch" which took care of that
problem for all 68K apps. Thanks Stephan!


LICENSE

AllocMem is freeware.


HISTORY

1.3
- Added SHARED switch to control the type of allocation

1.2
- Added more detailed shell output
- Fixed a bug where it didn't check that AllocVecTags() actually succeeded but
  still acted as if it had allocated the memory

1.1 (internal)
- Switched to AllocVecTags()

1.0
- First public release


http://metacomco.com

--
Amiga... Duh!


Contents of util/cli/AllocMem.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 4404    5061  87.0% -lh5- 8eca Oct 14  2006 AllocMem.info
[generic]                 6083    9276  65.6% -lh5- a0de Oct 14  2006 AllocMem/AllocMem.c.info
[generic]                 4147    4920  84.3% -lh5- dc52 Oct 14  2006 AllocMem/AllocMem.readme.info
[generic]                 1990    3988  49.9% -lh5- 649b Feb 27 21:09 AllocMem/AllocMem
[generic]                 1304    3003  43.4% -lh5- 7fa5 Feb 27 21:09 AllocMem/AllocMem.c
[generic]                 1461    2796  52.3% -lh5- 1b96 Feb 27 21:31 AllocMem/AllocMem.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         6 files   19389   29044  66.8%            Mar  5 20:01

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>