Как получить доступную оперативную память из командной строки Windows?

Если вы используете эксклюзивную виртуальную среду для своего приложения, вы можете использовать следующий подход без каких-либо других приложений.

То, что вы наблюдали, происходит, потому что rest_framework/authentication.py имеет этот код в authenticate метод класса SessionAuthentication:

self.enforce_csrf(request)

Вы можете изменить класс Request, чтобы иметь свойство, называемое csrf_exempt, и инициализировать его внутри вашего соответствующего класса вида True, если вы не хотите Проверка CSRF. Например:

Затем измените приведенный выше код следующим образом:

if not request.csrf_exempt:
    self.enforce_csrf(request)

В классе Request есть некоторые связанные изменения. Полная реализация доступна здесь (с полным описанием): https://github.com/piaxis/django-rest-framework/commit/1bdb872bac5345202e2f58728d0e7fad70dfd7ed

29
задан StackzOfZtuff 28 September 2016 в 16:13
поделиться

11 ответов

systeminfo - это команда, которая выводит системную информацию, включая доступную память

39
ответ дан diggingforfire 28 September 2016 в 16:13
поделиться
wmic OS get FreePhysicalMemory /Value
29
ответ дан laurent 28 September 2016 в 16:13
поделиться

Используйте wmic computersystem get TotalPhysicalMemory. Например :

C:\>wmic computersystem get TotalPhysicalMemory
TotalPhysicalMemory
4294500352
20
ответ дан Álvaro González 28 September 2016 в 16:13
поделиться
wmic OS get TotalVisibleMemorySize /Value

Примечание не TotalPhysicalMemory, как предлагается в другом месте

9
ответ дан noonand 28 September 2016 в 16:13
поделиться

Существует множество полезных инструментов низкого уровня из SysSnternals .

И psinfo могут быть наиболее полезными.

Я использовал следующие psinfo-переключатели:

-h        Show installed hotfixes.
-d        Show disk volume information.

Пример вывода:

c:> psinfo \\development -h -d

PsInfo v1.6 - local and remote system information viewer
Copyright (C) 2001-2004 Mark Russinovich
Sysinternals - www.sysinternals.com


System information for \\DEVELOPMENT:
Uptime: 28 days, 0 hours, 15 minutes, 12 seconds
Kernel version: Microsoft Windows XP, Multiprocessor Free
Product type Professional
Product version: 5.1
Service pack: 0
Kernel build number: 2600
Registered organization: Sysinternals
Registered owner: Mark Russinovich
Install date: 1/2/2002, 5:29:21 PM
Activation status: Activated
IE version: 6.0000
System root: C:\WINDOWS
Processors: 2
Processor speed: 1.0 GHz
Processor type: Intel Pentium III
Physical memory: 1024 MB
Volume Type Format Label Size Free Free
A: Removable 0%
C: Fixed NTFS WINXP 7.8 GB 1.3 GB 16%
D: Fixed NTFS DEV 10.7 GB 809.7 MB 7%
E: Fixed NTFS SRC 4.5 GB 1.8 GB 41%
F: Fixed NTFS MSDN 2.4 GB 587.5 MB 24%
G: Fixed NTFS GAMES 8.0 GB 1.0 GB 13%
H: CD-ROM CDFS JEDIOUTCAST 633.6 MB 0%
I: CD-ROM 0% Q: Remote 0%
T: Fixed NTFS Test 502.0 MB 496.7 MB 99%
OS Hot Fix Installed
Q147222 1/2/2002
Q309521 1/4/2002
Q311889 1/4/2002
Q313484 1/4/2002
Q314147 3/6/2002
Q314862 3/13/2002
Q315000 1/8/2002
Q315403 3/13/2002
Q317277 3/20/2002
9
ответ дан StackzOfZtuff 28 September 2016 в 16:13
поделиться
PS C:\Users\Rack> systeminfo | findstr "System Memory"
System Boot Time:          5/5/2016, 11:10:41 PM
System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform
System Type:               x64-based PC
System Directory:          C:\Windows\system32
System Locale:             en-us;English (United States)
Total Physical Memory:     40,959 MB
Available Physical Memory: 36,311 MB
Virtual Memory: Max Size:  45,054 MB
Virtual Memory: Available: 41,390 MB
Virtual Memory: In Use:    3,664 MB
4
ответ дан Lucas Barros 28 September 2016 в 16:13
поделиться

Немного стар, но я хотел знать подобное. Просто добавив решение, с которым я столкнулся после ИМО, лучший ответ пришел от Everardo с физической памятью

wmic OS get FreePhysicalMemory /Value

. Имейте в виду, что свободная физическая память - не тот тип, на который нужно смотреть.

wmic OS get FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles /VALUE

Это возвращает что-то вроде ...

FreePhysicalMemory=2083440
FreeSpaceInPagingFiles=3636128
FreeVirtualMemory=842124
5
ответ дан Jason Brennecke 28 September 2016 в 16:13
поделиться

Этого нельзя сделать на чистой Java. Но вы можете запускать внешние программы с использованием Java и получить результат.

Process p=Runtime.getRuntime().exec("systeminfo");
Scanner scan=new Scanner(p.getInputStream());
while(scan.hasNext()){
    String temp=scan.nextLine();
    if(temp.equals("Available Physical Memmory")){
       System.out.println("RAM :"temp.split(":")[1]);
       break;
    }
}
1
ответ дан Arshed 28 September 2016 в 16:13
поделиться

Попробуйте MemLog. Это делает работу отлично и быстро.

Загрузка через одно из множества зеркал, например, вот этот: Страница SoftPedia для MemLog .
( У автора MemLog есть веб-сайт . Но он иногда не работает. Снимок машины Wayback здесь .)

Пример вывода:

C:\>memlog
2012/02/01,13:22:02,878956544,-1128333312,2136678400,2138578944,-17809408,2147352576

] 878956544 свободная память

1
ответ дан StackzOfZtuff 28 September 2016 в 16:13
поделиться

На всякий случай, если вам нужна эта функциональность в Java-программе, вы можете обратиться к sigar API: http://www.hyperic.com/products/sigar

На самом деле, это не ответ на вопрос, я знаю, но подсказка, чтобы вам не пришлось изобретать велосипед.

0
ответ дан skomp 28 September 2016 в 16:13
поделиться

Вот чистое Java решение на самом деле:

public static long getFreePhysicalMemory()
{
    com.sun.management.OperatingSystemMXBean bean =
            (com.sun.management.OperatingSystemMXBean)
                    java.lang.management.ManagementFactory.getOperatingSystemMXBean();
    return bean.getFreePhysicalMemorySize();
}
0
ответ дан BullyWiiPlaza 28 September 2016 в 16:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: