Εμφάνιση του μηνύματος σφάλματος "Η μνήμη δεν επαρκεί" όταν εκτελείται μεγάλος αριθμός προγραμμάτων

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 126962 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Συμπτώματα

Όταν εκτελείτε μεγάλο αριθμό προγραμμάτων που βασίζονται στα Windows και επιχειρείτε να εκκινήσετε νέα προγράμματα ή προσπαθείτε να χρησιμοποιήσετε προγράμματα τα οποία εκτελούνται ήδη, εμφανίζονται μηνύματα σφάλματος "Η μνήμη δεν επαρκεί", παρόλο που έχετε ακόμα αρκετή διαθέσιμη φυσική μνήμη και μνήμη σελιδοποίησης.

Αιτία

Αυτή η συμπεριφορά μπορεί να προκύψει, εάν έχει εξαντληθεί ο σωρός της επιφάνειας εργασίας στο υποσύστημα Win32.

Σημείωση Αυτό το πρόβλημα προκύπτει συχνότερα στα Windows NT 3.5 καθώς το προεπιλεγμένο μέγεθος του σωρού επιφάνειας εργασίας είναι 512K. Στα Windows NT 3.1 η προεπιλεγμένη τιμή είναι 3072K. Η προεπιλεγμένη τιμή μειώθηκε ώστε να αυξηθούν οι επιδόσεις.

Προτεινόμενη αντιμετώπιση

Σημαντικό Αυτή η ενότητα, μέθοδος ή εργασία περιέχει βήματα που σας καθοδηγούν να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου πριν να το τροποποιήσετε. Στη συνέχεια, μπορείτε να επαναφέρετε το μητρώο αν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756 Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows
Για να επιλύσουμε αυτό το πρόβλημα για λογαριασμό σας, μεταβείτε στην ενότητα "Αυτόματη επίλυση". Εάν προτιμάτε να επιλύσετε το ζήτημα μόνοι σας, μεταβείτε στην ενότητα "Επίλυση από το χρήστη".

Αυτόματη επίλυση



Για αυτόματη επίλυση αυτού του προβλήματος, κάντε κλικ στο κουμπί ή στη σύνδεση Επίλυση (Fix it). Επιλέξτε Εκτέλεση (Run) στο παράθυρο διαλόγου Λήψη αρχείου (File Download) και ακολουθήστε τα βήματα στον Οδηγό επίλυσης.

Επίλυση αυτού του προβλήματος
Αυτόματη επίλυση της Microsoft 50496

Σημειώσεις
  • Αυτός ο οδηγός ενδέχεται να είναι διαθέσιμος μόνο στα Αγγλικά. Ωστόσο, η αυτόματη επίλυση μπορεί να χρησιμοποιηθεί και για άλλες εκδόσεις γλώσσας των Windows.
  • Αν δεν βρίσκεστε στον υπολογιστή που έχει το πρόβλημα, αποθηκεύστε τη λύση αυτόματης επίλυσης σε μια μονάδα flash ή σε κάποιο CD και, στη συνέχεια, εκτελέστε τη στον υπολογιστή που εμφανίζει το πρόβλημα.
  • Εάν η διαδικασία αυτή δεν επιλύσει το πρόβλημα, τότε αυξήστε τη μνήμη του υπολογιστή σας.

Στη συνέχεια, μεταβείτε στην ενότητα "Επιλύθηκε το πρόβλημα;".



Επίλυση από το χρήστη

Για να διορθώσετε αυτό το πρόβλημα, αυξήστε το μέγεθος του σωρού επιφάνειας εργασίας:
  1. Εκτελέστε τον Επεξεργαστή Μητρώου (Regedt32.exe).
  2. Από το δευτερεύον δένδρο
    HKEY_LOCAL_MACHINE
    , μεταβείτε στο ακόλουθο κλειδί:
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Επιλέξτε την τιμή Windows.
  4. Από το μενού Επεξεργασία, επιλέξτε Συμβολοσειρά.
  5. Αυξήστε την παράμετρο SharedSection.

    Για Windows NT:
    Η παράμετρος SharedSection καθορίζει τους σωρούς του συστήματος και της επιφάνειας εργασίας χρησιμοποιώντας την ακόλουθη μορφή:
    SharedSection=xxxx,yyyy
    Προσθέστε ",256" ή ",512" μετά τον αριθμό yyyy.

    Για Windows 2000, Windows XP και Windows Server 2003:
    Η παράμετρος SharedSection χρησιμοποιεί την εξής μορφή για να καθορίσει τους σωρούς του συστήματος και της επιφάνειας εργασίας:
    SharedSection=xxxx,yyyy,zzzz
    Σε λειτουργικά συστήματα 32-bit, αυξήστε την τιμή yyyy σε "12288".
    Αυξήστε την τιμή zzzz σε "1024".
    Σε λειτουργικά συστήματα 64-bit, αυξήστε την τιμή yyyy σε "20480".
    Αυξήστε την τιμή zzzz σε "1024".

Περισσότερες πληροφορίες

Τα Windows NT χρησιμοποιούν ένα ειδικό σωρό μνήμης για όλα τα προγράμματα που βασίζονται σε Windows που εκτελούνται στην επιφάνεια εργασίας. Ο σωρός της επιφάνειας εργασίας χρησιμοποιείται για όλα τα αντικείμενα (παράθυρα, μενού, πένες, εικονίδια, κ.ο.κ.). Όταν εκτελείτε ένα μεγάλο αριθμό προγραμμάτων που βασίζονται στα Windows, ενδέχεται να εξαντληθεί η μνήμη αυτού του σωρού. Όταν δεν υπάρχει αρκετή μνήμη ώστε να ικανοποιείται μια αίτηση εκχώρησης, το σύστημα κανονικά επιστρέφει ένα σφάλμα και ειδοποιεί το χρήστη ότι η μνήμη έχει εξαντληθεί. Ορισμένα προγράμματα δεν χειρίζονται ομαλά την αποτυχία και σε ορισμένες περιπτώσεις μπορεί να μην επαρκεί η μνήμη για τη δημιουργία του παράθυρου διαλόγου του μηνύματος σφάλματος. Ως αποτέλεσμα, η λειτουργία που ζητήθηκε αποτυγχάνει χωρίς καμία ένδειξη.

Το κλειδί SharedSection είναι μια μεγάλη συμβολοσειρά όταν προβάλεται χρησιμοποιώντας τον Επεξεργαστή μητρώου. Η προεπιλεγμένη τιμή για αυτό το κλειδί είναι η εξής.
   %SystemRoot%\system32\csrss.exe
   ObjectDirectory=\Windows
   SharedSection=1024,3072,512
   Windows=On
   SubSystemType=Windows
   ServerDll=basesrv,1
   ServerDll=winsrv:GdiServerDllInitialization,4
   ServerDll=winsrv:UserServerDllInitialization,3
   ServerDll=winsrv:ConServerDllInitialization,2
   ProfileControl=Off
   MaxRequestThreads=16
				


Η πρώτη τιμή SharedSection (1024) ορίζει το μέγεθος σωρού που είναι κοινό για όλες τις επιφάνειες εργασίας. Αυτό συμπεριλαμβάνει τον καθολικό πίνακα δεικτών χειρισμού (οι δείκτες χειρισμού των Windows είναι μοναδικοί σε όλον τον υπολογιστή) και τις κοινές ρυθμίσεις συστήματος (όπως είναι το SystemMetrics). Είναι απίθανο κάποια στιγμή να χρειαστεί να αλλάξετε αυτήν την τιμή.

Η δεύτερη τιμή SharedSection (3072) ελέγχει το μέγεθος του σωρού της επιφάνειας εργασίας ο οποίος συσχετίζεται με ένα σταθμό παραθύρου αλληλεπίδρασης (που χρησιμοποιείται για αντικείμενα των Windows). Η στατική αυτή τιμή χρησιμοποιείται για να αποτρέπει τις προβληματικές εφαρμογές από την υπερβολική χρήση πόρων. Επειδή ο σωρός της επιφάνειας εργασίας έχει αντιστοιχιστεί στο χώρο διευθύνσεων κάθε διεργασίας, αυτή η τιμή δε θα πρέπει να ορίζεται σε μια αυθαίρετα υψηλή τιμή (καθώς αυτό θα μείωνε την απόδοση), αλλά θα πρέπει να αυξηθεί μόνο όσο χρειάζεται ώστε να είναι δυνατή η εκτέλεση όλων των επιθυμητών εφαρμογών.

Η τρίτη τιμή SharedSection (512) ελέγχει το μέγεθος του σωρού της επιφάνειας εργασίας για κάθε επιφάνεια εργασίας η οποία συσχετίζεται με ένα σταθμό παραθύρου χωρίς αλληλεπίδραση. Εάν αυτή η τιμή δεν υπάρχει, τότε το μέγεθος του σωρού της επιφάνειας εργασίας για σταθμούς παραθύρου χωρίς αλληλεπίδραση θα είναι το ίδιο με το μέγεθος που καθορίστηκε για τους σταθμούς παραθύρου αλληλεπίδρασης (η δεύτερη τιμή του SharedSection).
Για περισσότερες πληροφορίες σχετικά με τις παραμέτρους του κλειδιού SharedSection, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
184802 PRB: Η προετοιμασία του User32.dll ή του Kernel32.dll αποτυγχάνει

Επιλύθηκε το πρόβλημα;

  • Ελέγξτε αν το πρόβλημα έχει επιλυθεί. Εάν το πρόβλημα έχει επιλυθεί, έχετε ολοκληρώσει τις εργασίες σας σε αυτή την ενότητα. Εάν το πρόβλημα δεν έχει επιλυθεί, μπορείτε να επικοινωνήσετε με το τμήμα υποστήριξης.
  • Εκτιμούμε ιδιαίτερα τα σχόλιά σας. Για να στείλετε σχόλια ή να αναφέρετε τυχόν ζητήματα που αφορούν αυτή τη λύση, αφήστε το σχόλιό σας στο ιστολόγιο "Αυτόματη επίλυση" ή στείλτε μας ένα μήνυμα ηλεκτρονικού ταχυδρομείου.

Ιδιότητες

Αναγν. άρθρου: 126962 - Τελευταία αναθεώρηση: Τετάρτη, 10 Νοεμβρίου 2010 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
Λέξεις-κλειδιά: 
kbenv kbmsifixme kbfixme KB126962

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com