| #!/usr/bin/env python3 |
| ############################################################################ |
| # Copyright (C) SchedMD LLC. |
| ############################################################################ |
| import sys |
| import time |
| |
| |
| def main(): |
| if len(sys.argv) != 3: |
| print("Usage: python allocate_memory.py <megabytes> <seconds>") |
| sys.exit(1) |
| |
| try: |
| megabytes = int(sys.argv[1]) |
| seconds = int(sys.argv[2]) |
| except ValueError: |
| print("Both arguments must be integers.") |
| sys.exit(1) |
| |
| print(f"Allocating {megabytes} MB for {seconds} seconds...") |
| a = bytearray(megabytes * 1024 * 1024) |
| |
| # Touch every page to ensure it's resident (one byte every 4KB) |
| for i in range(0, len(a), 4096): |
| a[i] = 0 |
| |
| time.sleep(seconds) |
| print("Done.") |
| |
| |
| if __name__ == "__main__": |
| main() |