utilizar utilizable toda solucionar solucion reconoce que problema memoria hacer como 4gb windows-7 batch-file windows-xp

windows-7 - toda - windows 7 4gb ram 2 utilizable



¿Cómo verificar la memoria disponible(RAM) a través del script por lotes? (6)

Me gustaría saber cómo podemos verificar la memoria disponible en un script por lotes. ¿Hay algún método disponible? Si no es posible en el script por lotes, ¿hay alguna otra manera de que podamos obtener la memoria disponible?

Sistema operativo: Windows XP / Windows 7


Alternativa:

C:/>wmic os get freephysicalmemory FreePhysicalMemory 4946576

analizar una variable (la salida wmic tiene un encabezado + línea adicional al final)

for /f "skip=1" %%p in (''wmic os get freephysicalmemory'') do ( set m=%%p goto :done ) :done echo free: %m%

free: 4948108

( freevirtualmemory está disponible también)


Este sitio tiene un ejemplo de VBScript que recupera la cantidad total de memoria:

http://www.computerperformance.co.uk/vbscript/wmi_memory.htm

Se puede adaptar para informar la cantidad de memoria disponible:

'' Memory.vbs '' Sample VBScript to discover how much RAM in computer '' Author Guy Thomas http://computerperformance.co.uk/ '' Version 1.3 - August 2010 '' -------------------------------------------------------'' Option Explicit Dim objWMIService, perfData, entry Dim strLogonUser, strComputer strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!//" _ & strComputer & "/root/cimv2") Set perfData = objWMIService.ExecQuery _ ("Select * from Win32_PerfFormattedData_PerfOS_Memory") For Each entry in perfData Wscript.Echo "Available memory bytes: " & entry.AvailableBytes Next WScript.Quit

Puede ejecutarlo guardándolo en un archivo con la extensión .vbs (por ejemplo, memory.vbs ) y ejecutarlo con cscript.exe, por ejemplo:

cscript.exe //nologo memory.vbs

... para obtener resultados como:

Available memory bytes: 4481511424


Esto debería funcionar:

free_mem=`free | sed -n 2p | awk ''{print $4}''`

Eso te dará la memoria libre. Si quiere el total, obtenga la primera columna ($ 1).


Esto muestra la memoria disponible para scripts y programas por lotes:

>mem | find "total" 655360 bytes total conventional memory 1048576 bytes total contiguous extended memory

Tipo MEM /? para mas detalles

EDIT : respuesta al nuevo comentario

>mem | find "avail" 655360 bytes available to MS-DOS 0 bytes available contiguous extended memory 941056 bytes available XMS memory >mem 655360 bytes total conventional memory 655360 bytes available to MS-DOS 599312 largest executable program size 1048576 bytes total contiguous extended memory 0 bytes available contiguous extended memory 941056 bytes available XMS memory MS-DOS resident in High Memory Area


WMIC no está disponible en las ediciones Home / Basic / Starter de Windows. SYSTEMINFO es demasiado lento. Alternativa con MSHTA que debería funcionar en todos los sistemas de Windows:

for /f "usebackq" %%a in (`mshta ^"javascript^:close^(new ActiveXObject^(^''Scripting.FileSystemObject^''^).GetStandardStream^(1^).Write^(GetObject^(^''winmgmts:^''^).ExecQuery^(^''Select * from Win32_PerfFormattedData_PerfOS_Memory^''^).ItemIndex^(0^).AvailableBytes^)^);^"^|more`) do set free_mem=%%a echo %free_mem%

Y para completar una forma más con dxdiag:

@echo off taskkill /im dxdiag* /f dxdiag /whql:off /t %cd%/dxdiag.txt :ckeck_dx tasklist | find "dxdiag" && ( w32tm /stripchart /computer:localhost /period:1 /dataonly /samples:5 >nul 2>&1 & goto :ckeck_dx ) find "Available OS Memory:" "dxdiag.txt" del /q /f "%~dp0dxdiag.txt"


No estoy seguro acerca de Windows XP pero en Windows 7 podría usar el comando systeminfo (externo), según esta pregunta de ServerFault . Excepto en mi computadora, ese comando muestra demasiada información, así que aquí puedes limitarlo solo a la parte relevante:

systeminfo | find "Physical Memory"

Lo anterior muestra los siguientes bits de información:

Total Physical Memory: n,nnn MB Available Physical Memory: n,nnn MB

Si solo desea la línea Available , haga su búsqueda más específica:

systeminfo | find "Available Physical Memory"