Saber La Carga Del Sistema


Objetivo: Saber La Carga Del Sistema
Hola equipo !!

Adaptando cosas que fui encontrando y mediante prueba y error he logrado esta función para saber la carga del sistema, ya que en el programa Destornishador cuando proceso muchos archivos mediante comandos shell, el programa le manda a bash las tareas pero si el cpu esta sobrecargado a este no le importaba y seguía mandando trabajos, ahora con esta pequeña función antes de mandar una tarea nueva le "pregunta" al sistema cual es su carga promedio.

Espero que a alguien le sirva de utilidad.

Public Function funSystemLoad() As Float
'' Devuelve la carga promedio del procesador de uno o mas nucleos
Dim strSysLoad As String
Dim floSysLoad As Float
Dim c As Integer
Dim mxfSysLoad As New Float[]

Shell "top -n 1 -b | grep 'load average:'" & " 2>&1" To strSysLoad
strSysLoad = Replace(strSysLoad, "load average: ", "#")
strSysLoad = Split(strSysLoad, "#")[1]
strSysLoad = Replace(strSysLoad, ", ", "~")
strSysLoad = Replace(strSysLoad, ",", ".")
strSysLoad = Replace(strSysLoad, "\n", "")

If InStr(strSysLoad, "~") = 0 Then
floSysLoad = CFloat(strSysLoad)
Else
mxfSysLoad = Split(strSysLoad, "~")
For c = 0 To mxfSysLoad.Max
Select c
Case 0
floSysLoad = mxfSysLoad[c]
Case mxfSysLoad.Max
floSysLoad = (floSysLoad + mxfSysLoad[c]) / c
Case Else
floSysLoad = floSysLoad + mxfSysLoad[c]
End Select
Next
Endif
Return floSysLoad
End

Perfil MP  
Objetivo: Re: Saber La Carga Del Sistema
...podrías leer directamente el file /proc/loadavg, evitando así el empleo de Shell y del comando "top".

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0601s (PHP: 8% SQL: 92%)
Consultas SQL: 28 - Debug off - GZIP Activado