Casa / Padroneggiare il PC / La connessione del terminale 1s ha esaurito la memoria virtuale. Hai una domanda o hai bisogno dell'aiuto di un consulente?

La connessione del terminale 1s ha esaurito la memoria virtuale. Hai una domanda o hai bisogno dell'aiuto di un consulente?

Questo errore è abbastanza tipico per 1C 8.3, molti utenti lo riscontrano.

Cause

In realtà ci sono diversi motivi per cui potrebbe apparire l'errore "Memoria insufficiente 1C". Di frequente dato errore si verifica quando aggiornamento errato configurazione 1C Enterprise. Altrettanto raramente, il caricamento di un database di grandi dimensioni o il tentativo di elaborare un file molto grande genera un errore.

Poiché la causa dell'errore durante queste azioni risiede nella mancanza di memoria degli indirizzi, non sarà possibile risolverla aggiornando l'apparecchiatura su cui è installato il programma 1C.

Il punto è che il sistema operativo Software accesso a una quantità limitata di memoria degli indirizzi, in genere 2 gigabyte per sistemi operativi a trentadue bit e 4 gigabyte per sistemi operativi a sessantaquattro bit.

Hai una domanda, hai bisogno dell'aiuto di un consulente?

Come aumentare la quantità di memoria degli indirizzi?

Non è difficile espandere la memoria degli indirizzi disponibile per il programma 1C. Per fare ciò, è necessario chiamare la riga di comando. Questo può essere fatto in diversi modi, il più semplice dei quali è fare clic con il pulsante destro del mouse sull'icona del menu Start - "Prompt dei comandi"
Nella finestra che appare, inserisci quanto segue:

dove il valore numerico è la quantità di memoria desiderata e premere il tasto "Enter". Successivamente, dovrai riavviare il computer. È quindi possibile provare a ripetere l'operazione non riuscita. Se l'errore persiste, ti consigliamo di contattare uno specialista.
I nostri programmatori saranno felici di consigliarti e aiutarti.

È impossibile elencare tutte le situazioni in cui si verifica l'errore 1C "Memoria insufficiente" (Fig. 1). Proviamo ad identificare i principali:

  • Quando si aggiorna la configurazione;
  • All'avvio dell'applicazione;
  • Quando si genera un rapporto;
  • Quando si eseguono calcoli di grandi dimensioni (pubblicazione del documento "Calcolo dei costi", "Chiusura del mese" e così via).

In tutti i casi, il motivo è lo stesso: mancanza di memoria fisica computer. Allo stesso tempo, l'aggiunta di strisce aggiuntive al dispositivo memoria ad accesso casuale non sempre risolve il problema.

Cosa determina la quantità di memoria disponibile

I sistemi operativi a 32 bit hanno una caratteristica significativa: indipendentemente dalla quantità di RAM e dalla dimensione del file di paging, il sistema operativo alloca solo 4 GB per il funzionamento di una particolare applicazione.

Considerando che metà dello spazio degli indirizzi della memoria virtuale è allocato per le esigenze del sistema stesso, rimangono solo 2 GB per il funzionamento dell'applicazione. Quando un programma è in esecuzione, lo spazio degli indirizzi della memoria virtuale deve essere riservato in un blocco contiguo. Quando ciò non è possibile, si apre una finestra (Fig. 1).

Come aumentare la memoria disponibile

Senza reinstallazione sistema operativo Ci sono due opzioni per correggere la situazione:


Utilizzando questi metodi, è possibile ridurre lo spazio degli indirizzi allocato per il sistema operativo a 1 GB, aumentando la memoria per l'applicazione a 3 GB.

Attenzione! Allocando manualmente la memoria, potrebbero verificarsi problemi durante il funzionamento. personal computer fino allo spegnimento completo del sistema.

La rimozione di una riga dal file boot.ini o l'esecuzione del comando con il parametro 2900 sostituito con 2000 riporta il sistema a lo stato iniziale.

È importante capire che questi metodi sono solo una soluzione temporanea al problema; per la sua eliminazione definitiva, è necessario trasferire il database su una piattaforma a 64 bit.

Memoria insufficiente durante la generazione di un rapporto

Non molto comune, ma questo errore si verifica quando si verificano i rapporti. In questo caso, l'esecuzione del trattamento di formatura foglio di calcolo si stringe e, alla fine, termina con una finestra, come nella prima figura.

Prima di entrare nelle impostazioni del sistema operativo e modificare i parametri di allocazione della RAM, in questo caso è meglio provare a modificare le impostazioni del report. Cambia la data, cambia i raggruppamenti, aggiungi una selezione. Nella maggior parte dei casi questo aiuta.

Se l'errore non si verifica in un report standard (come una scheda conto o un bilancio) e si ha accesso al codice sorgente dell'elaborazione, verificare se nella query vengono generate tabelle temporanee. Scritti nella RAM ed esistenti fino alla fine della richiesta, possono consumare risorse in modo significativo computer debole.

In generale, per evitare tali situazioni, si consiglia vivamente di eliminare le tabelle temporanee in una query non appena non sono più necessarie.

Perdite di memoria del server

In alcuni casi, gli utenti ricevono un messaggio mostrato in Fig. 3

Riso. 3.

Vorrei parlare separatamente delle ragioni di questo comportamento del server.

In generale, la frase "perdita di memoria" è alquanto imprecisa, è meglio dire che la memoria viene archiviata, stratificata. I programmi che avviano processi dimenticano di terminarli in modo tempestivo. Di conseguenza, si accumulano nella RAM.

Il secondo motivo è la frammentazione della memoria. Se durante il funzionamento del server si verifica un'intensa prenotazione e rilascio di RAM, in uno dei momenti potrebbe verificarsi una situazione in cui la quantità di memoria libera è sufficiente, ma è impossibile acquisire un blocco continuo di indirizzi di memoria di dimensioni sufficienti.

Il secondo problema può essere risolto con utilità di sistema.

Di conseguenza, possono:

  1. Ci sono problemi con la connessione, le sue interruzioni, il programma si blocca; (Fig. 4)

Fig.4

  1. Errori e blocchi vengono visualizzati durante lo scaricamento dell'infobase;
  2. Ci sono salti nella memoria occupati dai processi 1C.

Errori di aggiornamento

Questo scenario di memoria insufficiente si verifica quando si tenta di aggiornare la configurazione all'ultima versione. Può essere associato a un numero elevato applicazioni in esecuzione e con errori nel database.

Il primo passo da compiere quando si verifica questo problema è avviare il database aggiornato nella modalità configuratore e ristrutturarlo (voce di menu Amministrazione->Test e correzione), anche se è meglio eseguire una serie completa di lavori per correggere gli errori e ri -tabelle di indicizzazione.

Si verificano errori. Ne prenderemo in considerazione uno, dedicato all'argomento “Memoria libera insufficiente sul server 1C:Enterprise”.

Come correggere l'errore "Memoria libera insufficiente sul server 1C: Enterprise".

La quantità di memoria dei processi di lavoro quando si lavora su un server agente 1C non è infinita. Al suo massimo carico, l'utente vede un messaggio piacevole con la sua novità: "Non c'è abbastanza memoria libera sul server 1C: Enterprise".


Innanzitutto, sulle cause di tali messaggi: perché non c'è abbastanza memoria. Potrebbero essercene diversi:

Potenza del ferro insufficiente

Se nel sistema lavorano fino a cinque persone, sarà sufficiente un computer da otto gigabyte con due viti (su uno - SERVER, sul secondo - SQL) e chip aggiuntivi installati. Ma un'altra cosa: una trentina di utenti, migliaia di documenti primari. Anche qui SQL deve essere spostato su un server separato e un server terminal non può più farcela.

Mancanza di memoria per ulteriori informazioni

Le configurazioni tipiche cercano di descrivere letteralmente tutti i processi che uno sviluppatore potrebbe immaginare quando tenta di creare uno strumento di contabilità universale chiamato 1C:Enterprise. Pertanto, un particolare utente riceve un bagaglio aggiuntivo sotto forma di un abisso di oggetti di metadati, tabelle SQL aggiuntive, dettagli inutilizzati. La registrazione permanente e la reindicizzazione di tutto ciò che non è necessario nei registri del programma richiede molto tempo e molto spazio.

Errori di codifica

Il sovraccarico del server si verifica anche quando i programmatori (a volte) non comprendono alcuni processi e introducono le proprie "stampelle" che aumentano il tempo necessario per completare le attività (e anche il numero di processi di lavoro).

Errori di programma

Tra le altre cose, e questo è spesso quasi il motivo principale: il programma 1C ha un numero incredibile di errori interni. Alcuni di essi sono stati corretti nelle versioni successive. Un gran numero di forum è dedicato a questi errori, dove gli amministratori, discutendo dei prossimi trucchi, dicono scherzosamente che probabilmente solo i tagiki (Dzhamshut e Ravshan) funzionano in uno.

Quindi cosa fare con il server 1C

Poiché le cause del problema possono essere diverse, ci sono anche diversi modi per uscire dalla situazione:

Riavvio del servizio server

Il più veloce e in modo semplice La soluzione è riavviare il servizio server. Dalla riga di comando Microsoft Windows(cmd): per interrompere, viene eseguito il comando - net stop "1C:Enterprise 8.3 (o la tua versione) Server Agent", e per avviare - net start "1C:Enterprise 8.3 (secondo la tua versione) Server Agent". Tale soluzione non rimuove completamente il problema: molto spesso l'errore si ripete. La frequenza delle sue ripetizioni dipende dal numero di clienti e dal numero di processi di lavoro.

IMPORTANTE. Per poter riavviare, è necessario disporre dei diritti appropriati.

Riavvio automatico e impostazioni del cluster

A volte anche un flusso di lavoro in esecuzione può occupare quasi l'intera RAM. Questo problema viene risolto aumentando il loro numero nelle impostazioni del cluster. Viene aggiunto circa un processo ogni quindici-trenta utenti.

Intervallo di riavvio. Poco prima del completamento del precedente, viene avviato un nuovo processo, rphost.exe. - I collegamenti da quello vecchio vengono trasferiti ad esso. Dimensione memoria consentita - se questo valore viene superato, verrà avviato un secondo conto alla rovescia.

Intervallo per il superamento del limite di volume - quando il timer supera questo valore, verrà avviato un nuovo processo. E i collegamenti da quello vecchio saranno legati ad esso. E quello vecchio, a sua volta, è contrassegnato come inattivo. Spento interrompere i processi dopo - dopo che il valore di questo parametro è passato dopo aver contrassegnato il flusso di lavoro come inattivo, verrà terminato dal sistema operativo. Se questo parametro è impostato su "0", tutti i processi inattivi non verranno terminati automaticamente.

IMPORTANTE. Questa impostazione è tipica in quanto disconnette dal database solo il client che ha lanciato il report errato. E il resto - verrà spostato senza problemi su nuove connessioni (senza interruzioni dalla loro base).

Numero di processi di lavoro

Se rphost.exe è sovraccarico di processi in background e non vengono creati nuovi processi, controlla le impostazioni:

Massimo La memoria del processo di lavoro è la memoria totale per tutti i processi combinati. Misurato in byte. Se si imposta un valore errato (non adeguato al normale funzionamento), tutti riceveranno l'errore "Memoria libera insufficiente sul server 1s".

Consumo di memoria sicuro per 1 chiamata: controlla il consumo di memoria durante una chiamata dal server (in byte). Se una chiamata ne utilizza più di quanto specificato, verrà terminata all'interno del cluster. Non si riavvierà. E la perdita della sessione non influirà sugli altri client.

La quantità di memoria per i processi, fino alla quale il server è considerato produttivo dal sistema: quando viene raggiunto questo valore, il server del cluster smette di accettare connessioni. Quantità basi informative per processo - isola IS per processi. Dopo aver isolato le infobase (quando si inserisce il valore - "1"), i problemi vengono generalmente risolti.

Numero di connessioni per processo: il valore predefinito è "128". Se la base corrente ha un carico molto grande da lavori in background, quindi puoi ridurre questo numero, ad esempio, a "25". Con queste impostazioni, anche la configurazione del cluster cambierà leggermente:

Livello di tolleranza ai guasti: mostra il numero di server, in caso di guasto di cui non si verificherà alcun arresto anomalo dei client. Allo stesso tempo, i servizi di backup verranno avviati automaticamente nel numero richiesto.

Modalità di condivisione del carico: ne ha due opzioni possibili. Se si imposta "Priorità prestazioni", la memoria del server verrà consumata di più per aumentare le prestazioni. Quando si sceglie "Priorità per memoria", il cluster 1C salverà memoria.

Strumento di base

Per operare con il database è necessario utilizzare strumenti MS SQL DBMS.

Verifica della configurazione

Forse il motivo dell'errore risiede nelle informazioni errate contenute nella configurazione. Per verificarlo, è necessario eseguire il comando "Verifica configurazione". (Da non confondere con i test!). Prima dell'esecuzione, è necessario controllare l'impostazione della casella di controllo (flag) - "integrità logica". Se viene rilevato un errore, si rifletterà nel messaggio. E gli errori verranno rimossi.

Abbiamo esaminato le ragioni della mancanza di memoria libera sul server 1C e le possibili soluzioni a questo. Uno dei metodi risolverà sicuramente il problema.

Uno degli errori più comuni che si verificano mentre si lavora con 1C 8.3 è "Memoria insufficiente". In realtà, può verificarsi dopo molti eventi: aggiornamento, elaborazione di file di grandi dimensioni, generazione di un report, caricamento di dati e altro. Ciò significa che qualsiasi amministratore e sviluppatore 1C deve comprendere l'essenza del problema ed essere in grado di risolverlo. Con un semplice ingrandimento PC RAM o disco rigido questo problema non può essere risolto.

Risoluzione di un problema su un computer client

Le ragioni di questo errore non sono interamente nel sistema 1C, poiché puoi vedere un errore simile in altre applicazioni. Il problema è che i sistemi operativi della famiglia Microsoft allocano di default una certa quantità di memoria per ogni applicazione. Per i sistemi a 32 bit, questo valore è impostato su 2 GB, per i sistemi a 64 bit - 4 GB. Quando il software supera questo valore, sul monitor viene visualizzata una finestra di errore.

Il modo più semplice per eliminare tali messaggi è eliminare gli oggetti contrassegnati per l'eliminazione nella configurazione. Questo aiuta raramente, ma elimina inutili esitazioni. Inoltre, il rischio di queste azioni è minimo, poiché non richiede interventi interni impostazioni di Windows. Se la rimozione non ha aiutato, dovrai combattere con altri metodi.

Un'altra soluzione per i sistemi a 32 bit consiste nel passare a 64 bit o allocare più memoria alle applicazioni. La prima opzione è molto più corretta, ma a volte per vari motivi non è possibile. Quindi rimane solo l'opzione con l'algoritmo delle azioni mostrato di seguito, ma dovrebbe essere usata con molta attenzione: potrebbero esserci problemi significativi con le prestazioni dell'intero sistema.

Questo algoritmo è abbastanza semplice:

  1. Comando Apri Stringa di Windows. Utilizzare il menu di avvio o una combinazione Chiavi di Windows+ R e inserisci il comando "cmd";
  2. Nella finestra che compare, digita il comando "bcdedit/set augmentuserva 3200" (ad esempio, aumenta il limite a 3,2 GB). Vale la pena aumentare il limite con attenzione e gradualmente;
  3. Dopo aver confermato il corretto completamento dell'operazione nella finestra della riga di comando, riavviare il PC e riprovare ad eseguire i passaggi che hanno portato all'errore. Se il problema persiste e 1C si blocca ancora, puoi aumentare nuovamente il limite;
  4. Dopo che l'operazione è stata completata con successo senza errori in 1C, ripristinare le restrizioni di Windows predefinite con il comando "bcdedit / deletevalue augmentuserva". Questo è un passaggio necessario affinché il sistema operativo non violi le sue prestazioni per il bene di 1C e altre applicazioni.

Questa soluzione consente di eseguire un'operazione che non può essere eseguita a causa dell'errore 1C "Memoria insufficiente". Puoi usarlo solo in casi di emergenza, quando l'operazione deve essere eseguita in questo momento. In altre circostanze, è meglio provare a eseguire 1C su una piattaforma a 64 bit e ripetere l'operazione lì.

Molto più grave è il messaggio che non c'è memoria sufficiente sul server durante un aggiornamento o un lavoro su larga scala. Il problema potrebbe risiedere nella chiusura prematura dei processi avviati da vari software, a seguito della quale vi è una "stratificazione" e un accumulo di essi nella memoria virtuale. La seconda fonte di un tale errore è il lavoro intensivo di vari programmi con la prenotazione e il rilascio di memoria. Esiste una varietà di software per risolvere questi problemi, ma la pratica dimostra che provoca disconnessioni e arresti anomali di 1C.


Tali errori ti fanno chiedere se il server 1C è abbastanza potente. L'aumento della sua capacità andrà a vantaggio dell'azienda, ma un tale errore può essere aggirato in altri modi che non richiedono un'iniezione di fondi.

Naturalmente, non dovresti usarli sempre, ma un giorno possono aiutare, se necessario, a svolgere urgentemente lavori ad alta intensità di risorse. Tra i metodi popolari che possono aiutare a risolvere l'errore di mancanza di memoria sul server ci sono:

  • Riavvio dei flussi di lavoro 1C, che ridurrà la memoria utilizzata. Questa opzione è adatta solo ad amministratori esperti che conoscono la console di amministrazione del server 1C;
  • Utilizzando il registro della tecnologia, trovare una tabella che viene caricata con un errore di "memoria insufficiente" durante un aggiornamento o un'altra operazione. Se si è verificato un errore durante l'utilizzo della tabella "config", verificare la configurazione con il flag "Verifica l'integrità logica della configurazione". Puoi trovare questa funzione nel configuratore nel menu "Configurazione".
  • Un altro errore 1C comune si verifica quando non c'è spazio sufficiente sul disco rigido del server. Le tabelle temporanee occupano molto spazio e, se non c'è abbastanza spazio, l'amministratore visualizza l'errore "Non c'è abbastanza memoria libera per completare l'operazione". In questo caso, è difficile dare consigli precisi, poiché il dispositivo del server o del cluster potrebbe differire in modo significativo diverse opzioni. Tra le soluzioni standard che aiutano in questi casi, puoi trovare il riavvio del server, aumentare spazio libero, ottimizzazione delle query, aggiornamento della versione.


    Nelle aziende con un numero elevato di utenti, l'errore "Memoria libera insufficiente sul server 1C:Enterprise 8.3" si verifica abbastanza spesso. Un grosso problema e un prerequisito per questo è l'analisi insufficiente delle prestazioni richieste. Pertanto, quando si implementa 1C, prestare grande attenzione alla potenza sufficiente dei server in modo che in futuro non sia necessario regolare le prestazioni a scapito della stabilità.

    L'errore "Memoria insufficiente" in 1C 8.3 e 8.2 non è così raro. Può anche essere trovato nel configuratore (ad esempio, quando si confrontano le configurazioni), così come nella modalità 1C:Enterprise quando si eseguono elaborazioni che richiedono tempo: ad esempio, quando si scrive un file base64 di grandi dimensioni.

    Questo errore può verificarsi non solo nel programma 1C, ma anche in altri programmi del sistema operativo Windows.

    Il fatto è che nei sistemi operativi a 32 bit, di default, 2 Gigabyte per vari programmi e la stessa quantità per il sistema operativo. Nei sistemi operativi a 64 bit, la quantità di memoria allocata per le applicazioni è già di 4 Gigabyte.

    A seguito di quanto sopra, è necessario aumentare la dimensione della memoria di indirizzi allocata per le applicazioni, che è il programma 1C. Ci sono due modi per farlo: effettuare il passaggio da 32 sistema di bit a 64 bit o aumentare la quantità di memoria di indirizzi allocata inizialmente.

    Certo, il primo metodo è migliore e preferibile, ma se inserito questo momento, oppure non puoi usarlo affatto, quindi puoi usare il secondo.
    inizia la giornata vai a riga di comando sistema operativo. Per fare ciò, vai al menu di avvio e digita "cmd" nella barra di ricerca.

    Di fronte a te apparirà una ricerca del programma. Seleziona quello chiamato "cmd".

    Puoi anche aprire il prompt dei comandi usando la combinazione di tasti di scelta rapida Windows + R.

    Nella finestra che si apre, digita il seguente comando e premi anche "Invio":

    bcdedit /set aumentoutenteva 3200

    In questo caso, aumenterai la quantità di memoria degli indirizzi a 3200 megabyte.

    Dopo aver avuto successo, si consiglia vivamente di ripristinare la precedente quantità di memoria degli indirizzi. Questa misura è temporanea, poiché quando viene allocata memoria per le applicazioni, il sistema operativo ne ha meno. Per questo motivo, la stabilità di Windows potrebbe essere compromessa.

    Per ripristinare la memoria degli indirizzi al valore predefinito, è possibile utilizzare il seguente comando, che viene inserito anche nella riga di comando:

    bcdedit /deletevalue aumentoutenteva

    Si noti che con l'errore spesso riscontrato "Memoria insufficiente" in 1C, anche l'eliminazione degli oggetti contrassegnati può aiutare. Forse il programma ne ha accumulati molti ed è difficile per il programma elaborare tali volumi di dati. Se questo metodo non ha aiutato, è necessario aumentare la profondità di bit del sistema operativo Windows.