Hallo,
weis nicht mehr weiter, mit 16 bit System.
System: Win xp prof. SP3, 2,5 GB Ram, 1,8 Ghz
Betroffenes Programm: D-Base IV und Excel 4.0
Problem: 99% Speicherauslastung bei verwendung
von D-Base IV oder Excel 4.0 in der NTVDM.exe
Ziel: Verwendung von D-Base IV mit mindestens
Speicherauslasstung unter 50%
Einstellungen der Eigenschaften von D-Base.Exe
Speicher= alles auf Automatisch
Bildschirm= Fenster
Kompatibilität= Win98
Bisher erfolglos versucht:
- NTVDM.exe und wowexec.exe aus Win CD erneuert
- Config.NT und autoexec.nt von anderem PC, (auch XP)
auf dem das Problem nicht ist, kopiert
- in Config.nt Files=255 Buffers=120 bis zu
diesem Wert immer Stück für Stück erhöht
- wegen Fehlereingrenzung Excel 4.0 (16bit) Instaliert
auch gleiches Problem, Speicherauslasstung bis zu 70%
bis 90%
- Batch Datei geschrieben:
Start /shared /belownormal "c:\dbase\dat" "c:\dbase\dbase.exe"
Anmerkung:
Rechner war noch nie mit dem Internet verbunden, Virus ausgeschlossen
da geschlossenes System !
Deaktiviere ich die Verwendung der Maus in B-Base IV oder öffne D-Base IV
nicht als Fenstermodus sondern Vollbildmodus ist das Problem weg.
Diese Option ist aber nicht akzeptabel.
OK bis hier her kam ich, jetzt gehen mir die Ideen aus.
Bin für jede Anregung dankbar !
Allgemeines 22.004 Themen, 148.973 Beiträge
Steck mal nur 2 gleiche RAM-Module.
Mainboard + RAM-Module?
Ein CMOS-Clear per Jumper und auch das neueste Bios ist da angesagt.
Danke für die Antwort,
mit dem Bios werde ich mal versuchen. Mit dem Ram, weis net so
Auslastung bei 16%, die 99% Speicherauslastung habe ich bei der
CPU.
Hallo
> 99% Speicherauslastung
Wirklich Speicherauslastung?
Oder ist in Wirklichkeit die CPU-Auslastung gemeint?
Viele 16 Bit Programme lassen die CPU-Last nach oben schnipsen.
Einfachster Weg zur Halbierung der CPU-Last -> Kauf einer Dual-Core-CPU :-)
Gruss
ChrE
Hei,
ja es ist die CPU Auslastung gemeint die auf 90% geht.
Ein Neukauf eines Dual-Core Board will ich natürlich vermeiden.
Gibt da sonst keinen anderen Weg ?
Gruss
Matze
Das ist doch logisch, das du eine 90% auslastung des CPU hast.
Das ist naemlich so als ob du in ein Bugatti Veyron Karroserie (Prozzy), einen Trabant Motor (Dbase) verbaust.
Wieso willst du auf Dbase bleiben. Du kannst auch mit Acces 2000, die Daten importieren umd mit Acces weitermachen, als beispiel.
Hier eine Seite auf Englisch
http://www.randem.com/freesoftutil.html
Gruss
Sascha
Völlig normal. Ist auch mit den mit Windows gelieferten 16 Bit Programmen so. Gib mal in eine CMD edit ein und gib im erscheinenden Editor irgendeinen Text ein. Dann wirst du merken, dass der auch die CPU ordentlich auslastet.
Das sind halt DOS-Programme oder welche für Win 3.x, wo es noch keine Idle-Prozesse und auch keine Multi-User- und Multitasking-Systeme gab. Jeder Prozess konnte so viel Ressourcen verbrauchen, wie er wollte, ohne dass das OS das geregelt hätte.
Unter uns: das führte aber i.d.R. dazu, dass die Software teilweise bis ins Kleinste optimiert wurde und das deutlich besser und mehr als heutzutage der Fall. Aber das ist ein anderes Thema ;).
Gibt da sonst keinen anderen Weg ?
Wenn du die Software weiterhin verwenden willst: nein. Auch ein Dual Core oder sonstiger Mehrkernprozessor wird am Problem selbst nichts ändern, nur sind hier natürlich mehr Ressourcen verfügbar, die dem OS und den anderen Programmen bleiben. Ich kann dir daher nur empfehlen, dich nach alternativer Software umzuschauen.
MfG Dalai
Oder er sollte sich ein P II besorgen und mit Excel und Dbase arbeiten.
Ich weiss auch von was ich rede, Meine Frau hat hier in Mexiko studiert und hat den Titel als System Engineer. Nur was sie in die 80/90'er gelernt hat, ist heute passe. Wie Foxbase, Clipper und auch Dbase. Wir haben uns oft gestritten. Nicht als Streit in dem sinn. Sondern ich liesste ihr das vor, das was sie studiert hat ist vergangenheit. Nur sie hat mir auch gezeigt was manchmal wichtiger ist.
Will ich ein Oracle/SAP Software haben. Zahlemann und Soehne. Oder was einfaches was immer noch funktioniert.
Gruss
Sascha
Danke für Eure Antworten.
Also ich muß leider bei D-Base bleiben, da ich die Software zu Verfügung gestellt bekomme und der Austausch der Daten auf
D-Base beschränkt ist. Ein export zu Acces habe ich schon mal
ausprobiert, leider werden hier nur Daten exportiert, die Menüsteuerung und Macros leider nicht.
""Gib mal in eine CMD edit ein und gib im erscheinenden Editor irgendeinen Text ein""
Völlig ausreichend.
Das Umschalten von D-Base zu Windows Fenster und zurück ist hier
das Problem. Dabei hangt sich der PC Zeitweise auf und dann läuft er
wieder. Texteingaben sind stotterhaft.
Grüße und Danke
Matze
Dann probier das einfachste.
Abgesichertes Modus gehen und es probieren, wie sich Windows mit dbase verhaelt.
Gruss
Sascha
Die DOSBox würde Ich da nehmen:
http://de.wikipedia.org/wiki/DOSBox
http://www.kultboy.com/index.php?site=dosbox
Hallo,
Daran habe ich auch schon gedacht.
Aber: Laufen Windows-Programme aus der DOSBox heraus?
Die ist doch eher eine eigene virtuelle Maschine.
Wie will die die Windows Routinen callen?
Es wäre mal zu überlegen, wie komplex die Anwendung/Dialoge/Makros sind.
Und dann in eine Form konvertieren, die etwas länger hält.
Ich bin ja ein grosser Fan von SQLite...
Wie viele Tables/Makros sind es denn?
Oder versuche mal das Ganze in eine virtuelle Maschine zu stopfen.
Vielleicht kommt die besser mit den alten Windows-Calls zurecht.
Ich würde mal eine Win98-VM erzeugen...
Gruss
ChrE
Das kommt darauf an, ob DBase ein reines DOS-Programm oder eines für Win 3.x ist.
Oder versuche mal das Ganze in eine virtuelle Maschine zu stopfen.
Das wird nichts ändern. Die DOS-Programme auf Win9x haben die CPU genauso ausgelastet, so jedenfalls meine Erfahrung. Und die VM lastet dann den Host aus. Dennoch kann man hier Vorteile haben, weil sich die VM (einfacher) pausieren lässt.
MfG Dalai
Win 3.x kam erst Jahre später raus.
DBase IV ist ein reines DOS Prog (von 1988!) und mit Win98-VM wird das definitiv nicht immer was...
http://de.wikipedia.org/wiki/DBASE#dBASE_IV
http://de.wikipedia.org/wiki/MS-DOS#Versionsgeschichte
Mit der DOSBox läufts.
Hy,
habe mir jetzt mal die DOSBox0.74 Instaliert.
Weis jemand wie ich mein D-Base über die DosBox starten kann.
Normalerweise starte ich D-Base so:
Start "c:\dbase\dat" "c:\dbase\dbase.exe"
Güße
Matze
mount c c:\dbase
c:
Start "c:\dat" "c:\dbase.exe"
http://www.kultboy.com/index.php?site=dosbox
Die Start.* Datei muß natürlich in c:\dbase vorhanden sein.
Alternativ über: dbase [Enter] starten, c:\dbase muß aber in jedem Fall gemountet werden.
Über Start => Ausführen in XP läuft das mit der DOSBox natürlich definitiv nicht, alle Eingaben müßen in der DOSBox gemacht werden.
Übrigens das "c:\dbase\dat" "c:\dbase\dbase.exe" laufen soll wundert mich doch sehr, normalerweiser muß man da immer zuerst das Hauptprog stehen (also dbase.exe) und danach kann man Dateien und Schalter übergeben...
Und wenn man dbase gestartet hat kann man natürlich auch in dbase die Datenbank öffnen.
Man kann DOSBox auch per Parameter mitteilen, dass eine bestimmte Anwendung gestartet werden soll. Das Mounten lässt sich über die Config-Datei beim Start von DOSBox automatisch ausführen. Insgesamt lässt sich das ganze dann am Ende einfach per Mausklick starten :-)
Hallo,
Und wie wäre es hiermit: http://www.harbour-project.org/
als DBase Ersatz?
Gruss
ChrE
Vernuenftige loesung.
WOW ChrE.
Bedanke mich fuer das Link. Weil ich habe noch ein Buchhaltungsprogramm. Glaube meine Frau wird springen vor freude.
Sie mag nicht das ganze modernische Zeugs. Sie will das einfache vom einfachen haben.
Gruesse
Sascha
Hy,
danke für die Anregungen. Ich bin noch am ausprobieren mit der DosBox.
Mit dem mounten hab ich kein Problem sondern mit dem DBase Arbeitsverzeichniss. Normaler weise starte ich die Dbase.exe mit dem Arbeitsverzeichnis dBase/Dat die Config.db darin verweist auf alle Schalter
und Dateien die Dbase braucht. Die Dosbox kann mit der Angabe Dat
als Arbeitsverzeichniss nix anfangen es kommt die Fehlermeldung
falsche Codeseite.
Grüße
Matze
DOSBox will see paths starting form the mounted "C:" drive. If you mount "C:\GAMES" as DOSBox's "C:" drive, Windows will see any subfolders, say SEIRRA, as "C:\GAMES\SIERRA" and DOSBox will see it as "C:\SIERRA". If you install a game from Windows, any paths in configuration files will not be the same as what DOSBox will see. Install your games from within DOSBox to avoid this.
http://www.sierrahelp.com/Utilities/Emulators/DOSBox/DOSBoxGuide-Mount.html
Anpassen (C:\DAT) oder halt besser dbase in der DOSBox installieren.
Installiere Dir Oracle VirtualBox (ehemals Sun VirtualBox), setze Dir eine virtuelle Maschine auf und installiere in dieser ein DOS (z.B. FreeDOS oder ein altes MSDOS), darin dann deine Programme...
PS: Was ausser vielleicht Nostalgie treibt einen dazu mit so antiquierter Software zu arbeiten?
*sigh*
Ich schrieb doch schon, dass das an der Auslastung selbst nichts ändern wird und nur das Pausieren der Software möglich bzw. einfacher wird. Und jetzt kommt mir nicht mit DOSidle, fdapm & Co. Die mögen prinzipiell funktionieren, aber ich hab auch schon schicke Abstürze damit gehabt. Also eher nichts für die Arbeit mit wichtigen Daten.
MfG Dalai
Ach?
Die hohe Auslastung liegt an dem Overhead der Übersetzung von 16Bit auf 32Bit durch NTVDM, was bei einem 16Bit System in einer VM entfällt.
Hä? Auslastung durch eine Übersetzung? Was'n das für'n Quark? Hast du denn mal ein DOS in einer VM gehabt? Ich schon, und zwar unzählig oft (VMware, VirtualBox, Parallels usw) und dabei war die CPU immer voll ausgelastet. Und da is nix mit Übersetzung von 16 in 32 Bit.
DOS hat keinen Idle-Prozess und fertig. Jedes aktive Programm kann die CPU voll auslasten. Deswegen gibt's ja solche Programme wie DOSidle und fdapm & Co. Sobald man aber eine Anwendung (in meinem Beispiel habe ich Norton Commander benutzt) startet, kannst du den Idle-Prozess ebenfalls vergessen.
Davon abgesehen: warum gibt es keine Auslastung bei der Übersetzung von 32 Bit Programmen auf einem 64 Bit Windows? So einen Unsinn habe ich selten gelesen.
MfG Dalai
Mein letzter Kommentar hierzu:
1. Ein 16Bit Programm unter NTVDM läuft nicht im Real Mode, sondern im Protected Mode. Ein direkter Hardwarezugriff des Programms ist nicht möglich und das Programm kann auch nicht selbst entscheiden wieviele Resourcen es sich gönnt, das macht immer noch das Betriebssystem darunter und sein Sheduler.
2. Das 16Bit Programm läuft nicht als eigener Prozess auf dem System sondern unter NTVDM, was man ganz leicht daran sehen kann, wenn man den Taskmanager aufruft. Hier erscheint nur die NTVDM.
3. Die NTVDM ist ein 32-Bit Prozess und somit sowohl nativ laufend als auch mutitaskingfähig. Man kann problemlos mehrere Instanzen der NTVDM starten und darunter jeweils ein 16Bit Programm laufen lassen wodurch diese parallel arbeiten können und nicht per kooperativem sondern mittels symmetrischen MP. Und da die NTVDM ein 32Bit Programm ist entscheidet auch hier das Betriebssystem über die Resourcenzuteilung.
4. 32Bit Programme in einem 64Bit System arbeiten deshalb recht schnell, weil die Register von x64-CPUs sowohl über 32Bit, als auch über 64Bit angesprochen werden können. Die Itanium-Architektur kann dies z.B. nicht, was auch ein Grund dafür ist, dass unter IA64 32Bit Code sehr langsam läuft.
5. Wir betreiben einige alte 16Bit Programme in virtuellen Maschinen mit 16Bit DOS. Der fehlende Idle-Prozess betrifft nur die VIRTUELLE CPU, die reale CPU wird vom Hypervisor verwaltet, ansonsten wären mehrere virtuelle Maschinen auf einem realen System überhaupt nicht möglich.
Ach deswegen läuft das DBase bei ihm so gut und stört den Betrieb des restlichen OS nicht...
Der fehlende Idle-Prozess betrifft nur die VIRTUELLE CPU, die reale CPU wird vom Hypervisor verwaltet, ansonsten wären mehrere virtuelle Maschinen auf einem realen System überhaupt nicht möglich.
Dass mehrere VMs möglich sind, ändert aber nichts daran, dass das Virtualisierungssystem die CPU des Hosts auslastet, wenn die CPU in der VM belastet wird. So einfach ist das. Und genau um diesen Punkt geht's mir. Dass eine VM u.U. etwas weniger träge reagiert bzw. das OS dann etwas reaktionsfreudiger ist als ein Prozess im NTVDM, ändert doch am Fakt der Auslastung nichts. Strom wird in jedem Fall verbraucht.
MfG Dalai
Übrigens noch ein Punkt, der gegen deinen Unsinn spricht: starte mal eine command.com in der cmd.exe (ja, die gibt's im XP noch). Dann siehst du im Taskmanager auch eine ntvdm (logisch, weil die command.com ebenfalls 16 Bit ist), aber es tritt keinerlei CPU-Last auf, sofern man nicht etwas eintippt. Logisch, weil nur ein Interpreter läuft, aber keine CPU-Zyklen beansprucht werden wie es bei einem Progamm der Fall wäre.
MfG Dalai
Servus,
Hast du noch Dos und Win 3.11 Disketten oder wenn die Datenbank auch mit Win9x funktioniert auch dieses.
Installier dann dieses OS auf eine virtuelle Maschine (Vm-Ware, Virtual Box, Virtual-PC)
So konnte ich mir mal mit einer alten Software abhelfen.
Den Datenaustausch machte ich dann über ein Netzwerkshare auf die lokale Maschine.
Mit virtuellen Maschinen (Win2k) programmieren wir übrigends noch immer auf alten Delphi und VB6.
Greets Mike
Hy,
interessante Ausführungen, die hier beschrieben wurden. Ich habe als alternative Lösungen schon viel probiert. Ich kann über mein VM Ware Server von Win3.11 bis
Win7 alles Booten, meine Multimediarechner haben dafür auch genug Resoursen, aber sie sind im Studio, mein Problem machen die langsameren Office Rechner ohne Dual-Core, gerademal 1,8 bis 2,2 Ghz. Im Office Betrieb Arbeite ich mit 4 verschiedene Desktops (MultidesktopManager) in dem je zwischen 5 und 7 Windowsfenster (Programme) geöffnet sind, je nach Projekt muß ich werdend dem telefonieren in diesen ziemlich oft springen, zwischen Desktop und den Fenstern darin. Ohne Dbase , völlig ausreichend schnell. Klar kann ich mir schnellere Rechner zulegen, nur auch VM Ware macht da Probleme wenn ich zu schnell Umschalte. D-Base ist halt was spezielles vom Verlag mit ziemlich vielen Macros, deswegen wenig alternatieve Datenbankprogramme, die diese Macros übernehmen. Zunächst wunderte mich, dass ein Dual-Core PC (XP) mit je 900 Mhz schnurrt , gerademal 50 % CPU Auslasstung im Umschaltemodus. Hab mal beim Problem PC w2k Probiert (2-te Boot Platte) da läuft D-Base schneller, nur die anderen Paralellanwendungen nicht. Neu für mich ist die DosBox , womit ich noch ein bischen experimentiere. Naja, allzuviel Zeit hab ich da auch net, Arbeit geht ja weiter.
Grüße
Matze
Hallo,
> Zunächst wunderte mich, dass ein Dual-Core PC (XP) mit je 900 Mhz schnurrt , gerademal 50 % CPU Auslasstung im Umschaltemodus
Ja klar, das war ja mein erster Tipp. Die CPU-lastige Anwendung frisst einen Kern komplett.
Bei einem Dual-Core sind das dann 50 % Last. Bei einem 4-Kernern 25 %.
Der Unterschied zum Mono-Core: Der Rechner bleibt bedienbar.
> D-Base ist halt was spezielles vom Verlag
Verbrecher, die mit so was heute noch die Leute quälen.
> Neu für mich ist die DosBox
Vielleicht mal die komplette Platte mounten:
statt "mount c c:\dbase" "mount c c:\" dann klappt es besser mit den Pfaden
Gruss
ChrE
"Vielleicht mal die komplette Platte mounten"
Das geht AFAIK absolut in die Hose.
Hallo,
Warum? Dbase soll doch nur seine Pfade finden.
Gruss
ChrE
Wegen der Windows OS Dateien auf C, darum wird in allen Anleitungen auf C auch immer nur ein Ordner gemountet.
Setze mal die Prozesspriorität von DBase herunter, dann sollte andere Anwendungen nicht ausgebremst werden...
Gruß
Borlander
Hy,
hab es hingebracht mit der DosBox.
mount c c:\dbase
c
c:\dbase.exe
! cd dat
! do mh
Leider kein Unterschied DBase läuft wieder mit voller CPU Last !
Grüße
Matze
Dann sucht euch endlich eine Alternative. Es kann nicht sein, dass im Jahr 2010 noch auf DOS-Progammen bestanden wird. Je später der Umstieg erfolgt, desto schwerer wird er - das kann ich euch garantieren.
MfG Dalai
Hallo,
so was kostet halt immer Geld....
Und der Threadstarter wäre bestimmt froh, wenn es ein neues Programm geben würde, denke ich.
Es scheint ja auch nur aufzutreten, wenn man mit Monocores arbeitet.
Andere benutzen vielleicht Mehrkerner und bemerken die CPU-Last überhaupt nicht.
Der einzige Nachteil besteht dann darin, dass mehr Energie verbraucht wird.
Ich möchte nicht wissen, wie viel Energie auf dieser Welt verschwendet wird, weil
ineffektiver Programmcode abgearbeitet wird. Jetzt werde ich aber philosophisch...
Gruss
ChrE