Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch bzw. Script grösse Arbeitsspeicher auslesen und Pagefile anpassen

Frage Entwicklung Batch & Shell

Mitglied: Haiopai

Haiopai (Level 1) - Jetzt verbinden

10.02.2009, aktualisiert 16:16 Uhr, 11947 Aufrufe, 10 Kommentare

Hallo zusammen

Ich habe hier folgende Problematik bei der ich nicht weiterkomme.
Wir haben im Unternehmen 3 Notebook-Klassen mit 512 MB / 1024 MB und 2048MB RAM

Unseren Notebooks der 512 MB Klasse soll nun das Pagefile auf den 4 fachen Wetr (2048 MB) angepasst werden, da es sich hier aber um mehrere Standorte handelt, soll das ganze mit einem Script (VBS) oder einem Batchfile durchgeführt werden.

Da ich nun nicht grade bewandert mit VBS bin scheitere ich hier schon mal,.
Batchen geht ein bisschen ich bekomme den Physikalischen RAM mit

call systeminfo | findstr /C:"Gesamter physikalischer Speicher" ausgelesen

die Änderung würde ich mit

REG ADD "\HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "d:\pagefile.sys 2048 2048"

durchführen, nur wie bekomme ich das hin, das er es nur bei einer RAM Grösse kleiner als z.B 520 MB durchführt ?

Könntet ihr mir hier einmal auf die Sprünge helfen mit der Übergabe vom Call zum REG ADD, bzw. habt ihr eine Möglichkeit via VBS für mich ?

Ich sage schon mal danke im Voraus.

Gruss Marc
Mitglied: paulepank
10.02.2009 um 17:27 Uhr
Hallo,

wenn du deine Lösungsansätze weiterführen willst geht es so in einer Batch
01.
for /f %%i in ('systeminfo^|findstr Gesamter^|findstr /v "\."') do REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /f /t REG_MULTI_SZ /d "d:\pagefile.sys 2048 2048"
Erklärung:Es wird überprüft, ob es eine Zeile gibt, die Gesamter aber keinen Punkt enthält.
Das bedeutet RAM<1000 MB und damit kann REG .... ausgeführt werden.
Deine REG-Anweisung habe ich korrigiert. Vergleiche deine und meine !
Einen Restart solltest du noch in die Batch einbauen.

Ich sage schon mal danke im Voraus.
Das wird hier nicht gern gelesen. Wir legen Wert auf Feedback.

cu paulepank
Bitte warten ..
Mitglied: 60730
10.02.2009 um 23:12 Uhr
Servus,

auch wenn dir Paulepank schon eine fix und fertige Batch zur Verfügung gestellt hat....

Bedenke, was du da tust, das vorhaben ist mehr als fragwürdig.

Google einfach mal zwei Sachen heraus:

  • Windows Auslagerungsdatei optimal / oder je nach belieben
  • Hersteller deines Notebooks und dessen Typ Ram Preis

"zwischen 1.5 und 2 facher Größe des echten Rams" - das ist seit ca. 10? Jahren der std. Satz, den einem jeder MCxyzT herunterbetet. Und da sich das schon so lange gehalten hat, wird was dran sein

Ergo - kauf Ram für die Notebooks - auch wenn du denkst, per Pagefile gehts auch.

Gruß
Bitte warten ..
Mitglied: Haiopai
11.02.2009 um 07:48 Uhr
Hallo Paulepank

Habe dein Script an einer stelle noch angepasst

##blue¦for /f %%i in ('systeminfo^|findstr Gesamter^|findstr /v "\'"')##

habe den Punkt durch ein Hochkomma ersetzt und nun funktioniert es.

Hier auch nochmal eine VBS Lösung

' Konfiguration des Pagefiles

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(CreatePagefile)}")
Set colPhysicalMemory = objWMIService.ExecQuery("SELECT Capacity FROM Win32_PhysicalMemory")

intMemorySize = 0
For Each objItem In colPhysicalMemory
intMemorySize = intMemorySize + objItem.Capacity/1024/1024
Next

If intMemorySize = 512 Then

Set objShell = CreateObject("Wscript.Shell")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")

objShell.LogEvent 4, WScript.ScriptName & ": 512MB RAM gefunden - Pagefile anpassen"

' D:\pagefile.sys erstellen
Set objPageFileClass = objWMIService.Get("Win32_PageFile")
Set objPageFileD = objPageFileClass.SpawnInstance_(0)
objPageFileD.Name = "D:\pagefile.sys"
objPageFileD.InitialSize = 2048
objPageFileD.MaximumSize = 2048
objPageFileD.Put_

' Versuche C:\pagefile.sys zu löschen, falls D:\pagefile.sys existiert
If objFileSystem.FileExists("D:\pagefile.sys") Then
On Error Resume Next
Set objPageFileC = objWMIService.Get("Win32_PageFileSetting='C:\pagefile.sys'")
objPageFileC.Delete_
objFileSystem.DeleteFile("C:\pagefile.sys")
On Error Goto 0
End If
End If
Habe gestern Abend noch diese Variante erhalten.

@Timo

Du hast schon Recht mit der Aussage nur bedenke RAM ist für dich günstig du gehst in kaufen und baust ihn ein, bei uns wäre das ein Rollout in einer ziemlichen Grössenordung wo ne 1/2 Mio schnell erreicht wäre an Kosten. Mein Rat war auch dementsprechend, aber wenn der Kunde dieses nicht will und ein PL mit dieser Vorgabe kommt kannste net viel machen Ich wäre einen ähnlichen Weg gegangen.

Gruss Marc
Bitte warten ..
Mitglied: 60730
11.02.2009 um 09:43 Uhr
Servus Marc,

es ist ja nicht so, das Hier einmal eine Frage gestellt wird - die für denjenigen gelöst wird - der die Frage gestellt hat.
Auch spätere Besucher kommen irgenwann (vielleicht) und sehen "ahh so geht das also...."

Und wegen "ich geh kaufen" - eher weniger - seit wann kommt der Baum zum Hund?

Wir machen gerade ein Rollout von Notebooks, da ist auch gerade eine viertel 1/2 Mio über den Tresen gewandert, aber da war bei dem Notebookspeicher auch ein Notebook dabei.

Ich bin mir sehr sicher, dass die Umschichtung nicht wirklich etwas bringt - und da es dann halt so ist, wie es scheint....

Gruß
Bitte warten ..
Mitglied: Haiopai
11.02.2009 um 09:54 Uhr
Servus Timo

Du ich gebe dir auch hier recht es wird nicht das bringen was benötigt wird, es ist halt Beschlossen von oben und wird nun umgesetzt, auch auf unser zureden wurde dieses net verändert.

Die Massnahme die ich mir vorgestellt hätte wäre Erweiterung des RAM's, Reduzierung reservierter Kernelspeicher im RAM, alles unnötige abdrehen usw, um die Performance zu verbessern.

Gruss

Marc
Bitte warten ..
Mitglied: paulepank
11.02.2009 um 10:04 Uhr
Hallo Marc,

auch wenn der Thread als gelöst markiert ist - deine Aussage
habe den Punkt durch ein Hochkomma ersetzt und nun funktioniert es.
kann ich so nicht stehen lassen, da falsch.

In der Zeile, die Gesamter enthält wirst du nie ein Hochkomma finden,d.h die REG-Anweisung wird immer (egal wieviel RAM) ausgeführt und das ist ja nicht gewollt.
Sofern meine Codezeile bei dir nicht funktioniert hat, liegt es bei einer fehlerhaften Umsetzung oder du hast sie falsch herauskopiert. Da du für dich jetzt eine Lösung gefunden hast, will ich das jetzt nicht weiter ausdiskutieren.

cu paulepank
Bitte warten ..
Mitglied: Haiopai
11.02.2009 um 11:19 Uhr
Servus Paulepank

Wenn ich bei mir eine Abfrage mache auf den Arbeitsspeicher ( Notebook > 1GB RAM ) mit

call systeminfo | findstr /C:"Gesamter physikalischer Speicher" > d:\speicher.txt

Bekomme ich die Ausgabe in der Datei

Gesamter physikalischer Speicher: 2'022 MB

Damit würde eine Abfrage auf den Punkt nicht wirken, da keiner vorhanden ist, sondern nur eben das Hochkomma.

Aus diesem Grunde habe ich geschwenkt, hatte dein Script auf beiden Typen von Systemen ausprobiert via cmd File und erst der Schwenk auf das Hochkomma brachte den gewünschten Erfolg.

Gruss Marc
Bitte warten ..
Mitglied: paulepank
11.02.2009 um 14:13 Uhr
Hallo ,

dann ist die Anpassung allerdings richtig.
Jetzt werde ich doch neugierig. Bei welchem Betriebssystem mit welcher Sprache wird so etwas ausgeben ?

EDIT: ok, ihr habt am Symbol für die Zifferngruppierung rumgespielt

cu paulepank
Bitte warten ..
Mitglied: Haiopai
11.02.2009 um 14:45 Uhr
Servus Paulepank

Betriebssystem ist Windows XP Prof Sprache Deutsch(CH)

Gruss Marc
Bitte warten ..
Mitglied: paulepank
11.02.2009 um 15:01 Uhr
habe den Punkt durch ein Hochkomma ersetzt und nun funktioniert es.

weil

Betriebssystem ist Windows XP Prof Sprache Deutsch(CH)

hättest du das als Grund erwähnt, hätten wir uns alle anderen Threads ersparen können.

viel Erfolg bei dem von Oben beschlossenen Projekt, das so gut wie nichts bringt.

cu paulepank
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Batch Script Editor - Programmvorstellung des Entwicklers (16)

Tipp von wowItsDoge zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Windows Server
Batch Script bei Start ausführen (3)

Frage von KEFHVDI zum Thema Windows Server ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...