Ich bin auf der Suche nach einem schnellen und schmutzigen Weg, um zu analysieren, wie sich eine speicherintensive Drittanbieteranwendung unter reduzierten Speicherbedingungen verhält und einen Schwellenwert für "minimalen lebensfähigen freien Speicher" festlegt.Wie kann ich den freien Speicher in Linux absichtlich um einen bestimmten Betrag reduzieren?
[email protected]:~$ free
total used free shared buffers cached
Mem: 993M 879M 113M 1.1M 15M 116M
[email protected]:~$ hogMem 100 &
[email protected]:~$ free
total used free shared buffers cached
Mem: 993M 979M 13M 1.1M 15M 116M
[email protected]:~$ date; runTheThing; date;
[email protected]:~$ fg
[email protected]:~$ ^C
[email protected]:~$ free
total used free shared buffers cached
Mem: 993M 879M 113M 1.1M 15M 116M
In den oben genannten, was könnte ich für hogMem
verwenden?
Ich hoffe, es mit vorhandenen Befehlen zu tun, ohne in ein kompliziertes Programmierproblem zu geraten. Das Googeln dieses Problems bringt mir 1000 Seiten dazu, wie man mehr freien Speicher bekommt, nicht weniger.
-Update 2016.04.28:
So fand ich einen super bequem Weg, dies zu tun, dank der Hinweis von @Cyrus
[email protected]:~$ sudo mkdir -p /media/temporary_ram_disk
[email protected]:~$ sudo mount -t tmpfs -o size=2048M tmpfs /media/temporary_ram_disk/
[email protected]:~$ sudo chown you:you /media/temporary_ram_disk/
[email protected]:~$ cd /media/temporary_ram_disk/
[email protected]:/media/temporary_ram_disk$ free -h
total used free shared buffers cached
Mem: 993M 879M 113M 1.1M 15M 116M
[email protected]:/media/temporary_ram_disk$ fallocate -l 100M empty_file_100M
[email protected]:/media/temporary_ram_disk$ ls -l
total 5120
-rw-r--r-- 1 you you 5242880 Apr 28 12:05 empty_file_100M
[email protected]:/media/temporary_ram_disk$ free -h
total used free shared buffers cached
Mem: 993M 879M 13M 1.1M 15M 116M
So ist die hogMem
Ich verwende ist in der Tat fallocate
!
Welche Distribution und welche Version verwenden Sie? – Cyrus
Sie können versuchen http://people.seas.harvard.edu/~apw/stress/ –
@Diego Torres Milano. Danke Leute. Das sind alles wirklich großartige Ideen. Ich schaue immer noch, was ich mitnehmen soll. –