Mercurial > octave
annotate scripts/miscellaneous/memory.m @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | 363fb10055df |
children | c05aa021e971 |
rev | line source |
---|---|
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
1 ######################################################################## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
2 ## |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30379
diff
changeset
|
3 ## Copyright (C) 2020-2022 The Octave Project Developers |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
4 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
7 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
8 ## This file is part of Octave. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
9 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
11 ## under the terms of the GNU General Public License as published by |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
13 ## (at your option) any later version. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
14 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
15 ## Octave is distributed in the hope that it will be useful, but |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
18 ## GNU General Public License for more details. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
19 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
20 ## You should have received a copy of the GNU General Public License |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
21 ## along with Octave; see the file COPYING. If not, see |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
23 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
24 ######################################################################## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
25 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
27 ## @deftypefn {} {} memory () |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
28 ## @deftypefnx {} {[@var{userdata}, @var{systemdata}] =} memory () |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
29 ## Display or return information about the memory usage of Octave. |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
30 ## |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
31 ## If the function is called without output arguments, a table with an overview |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
32 ## of the current memory consumption is displayed. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
33 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
34 ## The output argument @var{userdata} is a structure with the following fields |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
35 ## containing data for the Octave process: |
28753 | 36 ## |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
37 ## @table @code |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
38 ## @item @var{MaxPossibleArrayBytes} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
39 ## Maximum size for an array to be allocated. Be aware that this includes |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
40 ## @emph{all} physical memory and swap space. Allocating that amount of memory |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
41 ## might result in system instability, data corruption, and/or file system |
28754 | 42 ## corruption. Note that depending on the platform (32-bit systems), the |
28753 | 43 ## largest contiguous memory block might further limit the maximum possible |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
44 ## allocatable array. This check is not currently implemented. |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
45 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
46 ## @item @var{MemAvailableAllArrays} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
47 ## The total size of available memory in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
48 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
49 ## @item @var{ram_available_all_arrays} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
50 ## The maximum size for an array that can be allocated in physical memory |
28754 | 51 ## (excluding swap space). Note that depending on the platform (32-bit |
28753 | 52 ## systems), the largest contiguous memory block might further limit the |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
53 ## maximum possible allocatable array. This check is not currently |
28753 | 54 ## implemented. |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
55 ## |
28753 | 56 ## @item @var{MemUsedMATLAB} |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
57 ## @itemx @var{mem_used_octave} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
58 ## The memory (including swap space) currently used by Octave in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
59 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
60 ## @item @var{ram_used_octave} |
28753 | 61 ## The physical memory (excluding swap space) currently used by Octave in |
62 ## bytes. | |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
63 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
64 ## @end table |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
65 ## |
28753 | 66 ## The output argument @var{systemdata} is a nested structure with the |
67 ## following fields containing information about the system's memory: | |
68 ## | |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
69 ## @table @code |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
70 ## @item @var{PhysicalMemory.Available} |
28754 | 71 ## The currently available physical memory in bytes. |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
72 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
73 ## @item @var{PhysicalMemory.Total} |
28754 | 74 ## The total physical memory in bytes. |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
75 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
76 ## @item @var{SystemMemory.Available} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
77 ## The currently available memory (including swap space) in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
78 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
79 ## @item @var{SystemMemory.Total} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
80 ## The total memory (including swap space) in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
81 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
82 ## @item @var{VirtualAddressSpace.Available} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
83 ## The currently available virtual address space in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
84 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
85 ## @item @var{VirtualAddressSpace.Total} |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
86 ## The total virtual address space in bytes. |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
87 ## |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
88 ## @end table |
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
89 ## |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
90 ## @example |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
91 ## @group |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
92 ## memory () |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
93 ## @result{} System RAM: 3934008 KiB, swap: 4087804 KiB |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
94 ## Octave RAM: 170596 KiB, virt: 1347944 KiB |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
95 ## Free RAM: 1954940 KiB, swap: 4087804 KiB |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
96 ## Available RAM: 2451948 KiB, total: 6042744 KiB |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
97 ## @end group |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
98 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
99 ## @group |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
100 ## [userdata, systemdata] = memory () |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
101 ## @result{} userdata = |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
102 ## scalar structure containing the fields: |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
103 ## MaxPossibleArrayBytes = 6.1622e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
104 ## MemAvailableAllArrays = 6.1622e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
105 ## ram_available_all_arrays = 2.4883e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
106 ## MemUsedMATLAB = 1.3825e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
107 ## mem_used_octave = 1.3825e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
108 ## ram_used_octave = 1.7824e+08 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
109 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
110 ## systemdata = |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
111 ## scalar structure containing the fields: |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
112 ## PhysicalMemory = |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
113 ## scalar structure containing the fields: |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
114 ## Available = 2.4954e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
115 ## Total = 4.0284e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
116 ## SystemMemory = |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
117 ## scalar structure containing the fields: |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
118 ## Available = 6.6813e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
119 ## Total = 8.2143e+09 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
120 ## VirtualAddressSpace = |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
121 ## scalar structure containing the fields: |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
122 ## Available = 2.8147e+14 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
123 ## Total = 2.8147e+14 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
124 ## @end group |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
125 ## @end example |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
126 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
127 ## This function is implemented for Linux and Windows only. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
128 ## |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
129 ## @seealso{computer, getpid, getrusage, nproc, uname} |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
130 ## @end deftypefn |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
131 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
132 function [userdata, systemdata] = memory () |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
133 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
134 if ((! isunix () || ismac ()) && ! ispc ()) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
135 if (nargout > 0) |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
136 error ("memory: function not yet implemented for this architecture"); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
137 else |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
138 warning ("memory: function not yet implemented for this architecture"); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
139 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
140 return; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
141 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
142 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
143 kiB = 1024; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
144 [architecture, bits] = computer (); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
145 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
146 if (isunix () && ! ismac ()) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
147 ## Read values from pseudofiles |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
148 [status, meminfo] = lmemory (); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
149 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
150 ## FIXME: Query the actual size of the user address space, |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
151 ## e.g., with getrlimit (RLIMIT_AS, rlp) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
152 if (log2 (bits) > 32) |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
153 ## 64-bit platform |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
154 address_space = 2^48; # 256 TiB |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
155 else |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
156 ## 32-bit platform |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
157 address_space = 3 * 2^30; # 3 GiB |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
158 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
159 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
160 total_ram = meminfo.MemTotal * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
161 total_swap = meminfo.SwapTotal * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
162 free_ram = meminfo.MemFree * kiB; |
28921
967cfcde2e35
maint: Use parentheses around conditional expressions.
Rik <rik@octave.org>
parents:
28758
diff
changeset
|
163 if (isfield (meminfo, "MemAvailable")) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
164 available_ram = meminfo.MemAvailable * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
165 else |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
166 ## On kernels from before 2014 MemAvailable is not present. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
167 ## This is a rough estimate that can be used instead. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
168 available_ram = (meminfo.MemFree + meminfo.Cached) * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
169 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
170 free_swap = meminfo.SwapFree * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
171 used_ram = status.VmRSS * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
172 used_virtual = status.VmSize * kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
173 avail_virtual = address_space - used_virtual; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
174 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
175 elseif (ispc ()) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
176 [proc, sys] = __wmemory__ (); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
177 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
178 total_ram = sys.TotalPhys; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
179 total_swap = sys.TotalPageFile; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
180 available_ram = sys.AvailPhys; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
181 free_swap = sys.AvailPageFile; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
182 used_ram = proc.WorkingSetSize; |
28454
f6a8f103786e
memory.m: Fix reported virtual memory usage on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
28373
diff
changeset
|
183 used_virtual = proc.WorkingSetSize + proc.PagefileUsage; |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
184 avail_virtual = sys.AvailVirtual; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
185 address_space = sys.TotalVirtual; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
186 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
187 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
188 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
189 available = min (available_ram + free_swap, avail_virtual); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
190 ram_available = min (available_ram, avail_virtual); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
191 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
192 ## FIXME: On 32-bit systems, the largest possible array is limited by the |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
193 ## largest contiguous block in memory. |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
194 user.MaxPossibleArrayBytes = available; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
195 user.MemAvailableAllArrays = available; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
196 user.ram_available_all_arrays = ram_available; |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
197 user.MemUsedMATLAB = used_virtual; # For compatibility |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
198 user.mem_used_octave = used_virtual; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
199 user.ram_used_octave = used_ram; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
200 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
201 syst.PhysicalMemory.Available = available_ram; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
202 syst.PhysicalMemory.Total = total_ram; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
203 syst.SystemMemory.Available = available_ram + free_swap; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
204 syst.SystemMemory.Total = total_ram + total_swap; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
205 syst.VirtualAddressSpace.Available = avail_virtual; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
206 syst.VirtualAddressSpace.Total = address_space; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
207 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
208 if (nargout) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
209 userdata = user; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
210 systemdata = syst; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
211 else |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
212 unitsize = kiB; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
213 unitname = 'kiB'; |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
214 disp (sprintf ("Octave is running on %s", architecture)) |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
215 disp (sprintf ("System RAM: %9.0f %s, swap: %9.0f %s", |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
216 round (syst.PhysicalMemory.Total / unitsize), unitname, |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
217 round (total_swap / unitsize), unitname )) |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
218 disp (sprintf ("Octave RAM: %9.0f %s, virt: %9.0f %s", |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
219 round (user.ram_used_octave / unitsize), unitname, |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
220 round (user.mem_used_octave / unitsize), unitname)) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
221 if (isunix ()) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
222 ## The concept of free vs. available RAM doesn't seem to exist on Windows |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
223 disp (sprintf ("Free RAM: %9.0f %s, swap: %9.0f %s", |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
224 round (free_ram / unitsize), unitname, |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
225 round (free_swap / unitsize), unitname)) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
226 endif |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
227 disp (sprintf ("Available RAM: %9.0f %s, total: %9.0f %s", |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
228 round (user.ram_available_all_arrays / unitsize), unitname, |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
229 round (user.MemAvailableAllArrays / unitsize), unitname)) |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
230 endif |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
231 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
232 endfunction |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
233 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
234 function [status, meminfo] = lmemory () |
30379
363fb10055df
maint: Style check m-files ahead of 7.1 release.
Rik <rik@octave.org>
parents:
29583
diff
changeset
|
235 |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
236 ## Read pseudo files to gather memory information on Linux |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
237 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
238 ## Read the proc/self/status pseudofile. |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
239 ## See https://linuxwiki.de/proc/pid#A.2Fproc.2Fpid.2Fstatus. |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
240 ## It contains a variable number of lines with name-value pairs. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
241 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
242 f = fopen ("/proc/self/status"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
243 buffer = textscan (f, "%s %s", "delimiter", ':\n'); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
244 fclose (f); |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
245 for i = 1:rows (buffer{1}) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
246 status.(buffer{1}{i}) = textscan (buffer{2}{i}){1}; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
247 endfor |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
248 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
249 ## Read the /proc/meminfo pseudofile |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
250 ## see https://linuxwiki.de/proc/meminfo |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
251 ## It contains a variable number of lines with name-value pairs. |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
252 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
253 f = fopen ("/proc/meminfo"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
254 buffer = textscan (f, "%s %s", "delimiter", ':\n'); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
255 fclose (f); |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
256 for i = 1:rows (buffer{1}) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
257 meminfo.(buffer{1}{i}) = textscan (buffer{2}{i}){1}; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
258 endfor |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
259 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
260 endfunction |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
261 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
262 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
263 %!testif ; (isunix () && ! ismac ()) || ispc () |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
264 %! [user, syst] = memory (); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
265 %! assert (user.mem_used_octave > 0); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
266 %! assert (user.ram_used_octave <= user.mem_used_octave); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
267 %! assert (user.mem_used_octave < syst.SystemMemory.Total); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
268 %! assert (user.MemAvailableAllArrays <= syst.SystemMemory.Available); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
269 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
270 %!testif ; (! isunix () || ismac ()) && ! ispc () |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
271 %! fail ("[user] = memory ()", |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
272 %! "function not yet implemented for this architecture"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
273 %! fail ("memory ()", "warning", |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
274 %! "function not yet implemented for this architecture"); |