elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [Solucionado] Optimizar ram
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Optimizar ram  (Leído 8,973 veces)
Segurida

Desconectado Desconectado

Mensajes: 61


Ver Perfil
[Solucionado] Optimizar ram
« en: 3 Mayo 2011, 09:37 am »

Hola, necesito saber cómo puedo optimizar la ram, es decir dejar la mayor cantidad posible de espacio libre, tengo un codigo que encontre en google pero casi no hace nada, se nota pero muy despacito y poco a poco, yo necesito algo mas rapido, se que vaciar la ram es lento, pero con este codigo es mucho mas lento de lo normal, y ademas este codigo retorna acceso denegado:
Código
  1. 'Previamente se declara la función utilizando Kernel32
  2. Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal process As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Integer
  3.  
  4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  5.    'Código dentro de un botón
  6.        Try
  7.            GC.Collect()
  8.            GC.WaitForPendingFinalizers()
  9.            If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
  10.                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1)
  11.                Dim myProcesses As Process() = Process.GetProcesses(Environment.MachineName.ToString)
  12.                Dim myProcess As Process
  13.                For Each myProcess In myProcesses
  14.                    SetProcessWorkingSetSize(myProcess.Handle, -1, -1)
  15.                Next myProcess
  16.            End If
  17.        Catch ex As Exception
  18.            MsgBox(ex.Message)
  19.        End Try
  20. End Sub
  21.  

Cambiando esta linea:
Código
  1. Dim myProcesses As Process() = Process.GetProcesses(Environment.MachineName.ToString)
  2.  

Por esta otra:
Código
  1. Dim myProcesses As Process() = Process.GetProcessesByName("chrome") 'Vacia la memoria ram de todos los procesos que sean chrome.exe
  2.  

Se nota mas rapido la diferencia y si se mira el taskmanager se ve como la memoria desciende al minimo, si estas un rato sin usar el chrome y lo haces baja la memoria y se mantiene abajo, si le has usado hacia poco o lo estas usando, baja la memoria un segundo y vuelve a subir, necesito algo que libere el maximo espacio posible, por favor denme una mano, saludos


« Última modificación: 14 Mayo 2011, 19:03 pm por Segurida » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Optimizar ram
« Respuesta #1 en: 3 Mayo 2011, 22:06 pm »

Puedes replantear la pregunta por favor, no entendí muy bien.. :)


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Optimizar ram
« Respuesta #2 en: 4 Mayo 2011, 03:15 am »

Hola, esto funciona, cuando lo ejecute me ocupaba 10 megas, y despues 860 kb.

Código
  1. Public Class Form1
  2.    Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean
  3.  
  4.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  5.        If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
  6.            Dim Mem As Process = Process.GetCurrentProcess()
  7.            SetProcessWorkingSetSize(Mem.Handle, -1, -1)
  8.        End If
  9.    End Sub
  10. End Class

saludos.
En línea

Segurida

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Optimizar ram
« Respuesta #3 en: 4 Mayo 2011, 23:34 pm »

@[D4N93R] Lo que necesito es vaciar la memoria ram desde VB.net (vb 2008) tengo el código que dije antes que funciona pero lo hace muy despacio, y hay que especificar el nombre del proceso, necesito que lo haga o bien con todos los procesos, sin tener que especificar uno a uno manualmente, o bien con la memoria, he leído que se puede vaciar la ram al archivo de paginación de windows (pagefile) pero no se hacerlo, por eso pido ayuda, me da igual un camino que otro, pero prefiero el camino mas rápido par vaciar la mayor cantidad posible de ram, en definitiva, una forma de optimizar, desfragmentar o liberar la memoria ram, pero una forma que funcione y se note una diferencia rápida.
@seba123neo Eso solo funciona con la aplicación actual, lo necesito para todos los procesos o toda la memoria ram...

gracias a los dos por la ayuda y esfuerzo, se los agradezco, si se les ocurre algo aqui estaré :)
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Optimizar ram
« Respuesta #4 en: 5 Mayo 2011, 01:35 am »

no tenia idea que funcionaba con otros procesos, todos los ejemplos que hay en internet son para el propio proceso.
En línea

Segurida

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Optimizar ram
« Respuesta #5 en: 5 Mayo 2011, 13:14 pm »

@seba123neo el código que puse al principio, o hace con todos, pero la gran mayoría devuelve acceso denegado, y necesito algo para que funcione con todos, de la manera que propongo, o de otra diferente, ya me quedé sin ideas...
gracias de nuevo :)
En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Optimizar ram
« Respuesta #6 en: 5 Mayo 2011, 14:59 pm »

La función SetProcessWorkingSetSize no optimiza la memoria RAM, más bien al contrario. Lo que hace es volcar parte de la memoria RAM de un proceso en la memoria VIRTUAL del sistema, haciendo que la aplicación trabaje más lenta pero consuma menos memoria.

De la administración de la memoria se tiene que encargar el sistema operativo, no una aplicación ejecutándose en el CIL corriendo en el RING 3...

Saludos.
En línea

Segurida

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Optimizar ram
« Respuesta #7 en: 5 Mayo 2011, 19:42 pm »

@Khronos14 Realmente lo que se dice optimizar, no lo hace, pero si vacía la memoria, y permite que el sistema operativo reaccione cuando se cuelga, o que vaya más rápido cuando se ralentiza...
Por eso necesito un camino para poder hacerlo con todos los procesos, o hacer algo para que vacíe la mayor cantidad posible de ram...
En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Optimizar ram
« Respuesta #8 en: 5 Mayo 2011, 20:19 pm »

@Segurida ¿sabes lo que es la memoria virtual?

La memoria virtual es una región del disco duro que se emplea como memoria auxiliar a la RAM, por ejemplo, cuando no queda más memoria RAM. Si fuerzas a que los procesos vuelquen parte de su memoria RAM en el disco, provocas más accesos al disco duro, haciendo que el sistema vaya más lento.

Es imposible que el sistema vaya más rápido cuando se ralentiza. La memoria RAM tiene un tiempo de acceso ínfimo, en cambio los discos duros son lentísimos en comparación con la memoria RAM, además que tienen una velocidad de lectura y escritura limitada.
En línea

Segurida

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Optimizar ram
« Respuesta #9 en: 6 Mayo 2011, 11:25 am »

@Khronos14 La memoria virtual creo que es el archivo pagefile, pero no sabia que lo ralentizara, en mi compu cuando vacio parte de la ram de esa manera, no se ralentiza, entonces ¿hay alguna manera de optimizar el sistema para acelerarlo, aunque sea temporalmente?
gracias
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Optimizar FPS del CSS
Juegos y Consolas
ZoNike 3 3,773 Último mensaje 19 Julio 2008, 16:00 pm
por Alamasy
optimizar pc « 1 2 »
Software
javierdeejay 10 5,710 Último mensaje 3 Abril 2011, 13:47 pm
por ciempies
Solucionado, lo dejo como reto: Optimizar código relacionado con presionar y soltar teclas.
Scripting
Tachikomaia 0 1,504 Último mensaje 16 Noviembre 2022, 18:15 pm
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines