Ev / Mobil işletim sistemi / Bellek yetersiz satır 1 mesajı. Ek bilgi için hafıza eksikliği

Bellek yetersiz satır 1 mesajı. Ek bilgi için hafıza eksikliği

1C 8.3 ve 8.2'deki "Yeterli bellek yok" hatası çok nadir değildir. Aynı zamanda yapılandırıcıda (örneğin, konfigürasyonları karşılaştırırken) ve 1C:Enterprise modunda, zaman alan işlemler gerçekleştirirken: örneğin, büyük bir base64 dosyası yazarken bulunabilir.

Bu hata yalnızca 1C programında değil, Windows işletim sisteminin diğer programlarında da ortaya çıkabilir.

Mesele şu ki, 32 bit işletim sistemlerinde, varsayılan olarak, başına 2 Gigabayt çeşitli programlar ve işletim sistemi için aynı. 64 bit işletim sistemlerinde uygulamalar için ayrılan bellek miktarı zaten 4 Gigabayttır.

Yukarıdakilerden sonra, 1C programı olan uygulamalar için tahsis edilen adres belleğinin boyutunu artırmanız gerekir. Bu iki şekilde yapılabilir: 32 bit sistemden 64 bit sisteme geçiş yapmak veya başlangıçta tahsis edilen adres belleği miktarını artırmak.

Tabii ki, ilk yöntem daha iyi ve tercih edilir, ancak şu anda veya hiç kullanamıyorsanız, ikincisini kullanabilirsiniz.
Güne başlayın, işletim sisteminin komut satırına gidin. Bunu yapmak için başlat menüsüne gidin ve arama çubuğuna "cmd" yazın.

Önünüzde bir program araması görünecektir. "cmd" adlı birini seçin.

Windows + R kısayol tuşu kombinasyonunu kullanarak komut istemini de açabilirsiniz.

Açılan pencerede aşağıdaki komutu yazın ve ayrıca "Enter" tuşuna basın:

bcdedit / set boostuserva 3200

AT bu durum adres belleği miktarını 3200 megabayta çıkaracaksınız.

Başarılı olduktan sonra, önceki adres belleği miktarını geri yüklemeniz önemle tavsiye edilir. Bu önlem geçicidir, çünkü uygulamalar için bellek ayrıldığında, işletim sistemi daha az belleğe sahiptir. Bu nedenle, Windows kararlılığı tehlikeye girebilir.

Adres hafızasını varsayılan değere geri yüklemek için aşağıdaki komutu da kullanabilirsiniz. Komut satırı:

bcdedit /deletevalue boostuserva

Lütfen 1C'de sıklıkla karşılaşılan “Yetersiz bellek” hatasıyla işaretli nesnelerin silinmesinin de yardımcı olabileceğini unutmayın. Belki de program birçoğunu biriktirmiştir ve programın bu kadar çok veriyi işlemesi zordur. Bu yöntem yardımcı olmadıysa, Windows işletim sisteminin bit derinliğini artırmalısınız.

Hatalar oluşur. “1C:Enterprise sunucusunda yeterli boş bellek yok” konusuna ayrılmış bunlardan birini ele alacağız.

"1C:Enterprise sunucusunda yeterli boş bellek yok" hatası nasıl düzeltilir.

1C aracı sunucusunda çalışırken iş süreçlerinin bellek miktarı sonsuz değildir. Maksimum yükte, kullanıcı yeniliğinden memnun olan bir mesaj görür - “1C: Enterprise sunucusunda yeterli boş bellek yok”.


İlk olarak, bu tür mesajların nedenleri hakkında - neden yeterli bellek yok. Bunlardan birkaçı olabilir:

Yetersiz demir gücü

Sistemde en fazla beş kişi çalışıyorsa, iki vidalı bir sekiz gigabaytlık bilgisayar (bir - SUNUCU, ikinci - SQL) ve ek olarak takılı yongalar yeterli olacaktır. Ama başka bir şey - yaklaşık otuz kullanıcı, binlerce birincil belge. Burada SQL'in taşınması gerekiyor ayrı sunucu ve bir terminal sunucusu artık baş edemez.

Ek bilgi için hafıza eksikliği

Tipik konfigürasyonlar, bir geliştiricinin 1C:Enterprise adlı evrensel bir muhasebe aracı oluşturmaya çalışırken hayal edebileceği tüm süreçleri tam anlamıyla açıklamaya çalışır. Bu nedenle, belirli bir kullanıcı, meta veri nesneleri, ek SQL tabloları, kullanılmayan ayrıntılar uçurumu şeklinde ek bagaj alır. Tüm bu gereksizlerin kalıcı olarak kaydedilmesi ve programın kayıtlarında yeniden indekslenmesi uzun zaman alır ve çok yer kaplar.

kodlama hataları

Sunucu aşırı yüklenmesi, programcılar (bazen) bazı süreçleri anlamadığında ve görevleri tamamlama süresini (ve iş süreçlerinin sayısını da) artıran kendi "koltuk değneklerini" tanıttığında da meydana gelir.

Program hataları

Diğer şeylerin yanı sıra ve bu genellikle neredeyse ana nedendir - 1C programında inanılmaz sayıda dahili hata vardır. Bazıları sonraki sürümlerde düzeltildi. Bu hatalara çok sayıda forum ayrılmıştır; burada yöneticiler, bir sonraki püf noktalarını tartışarak, şaka yollu bir şekilde, muhtemelen yalnızca Taciklerin (Dzhamshut ve Ravshan) bir es'de çalıştığını söyler.

Peki sunucu 1C ile ne yapmalı

Sorunun nedenleri farklı olabileceğinden, durumdan çıkmanın farklı yolları da vardır:

Sunucu hizmetini yeniden başlatma

En hızlı ve basit bir şekildeÇözüm, sunucu hizmetini yeniden başlatmaktır. Komut satırından Microsoft Windows(cmd): durdurmak için komut yürütülür - net stop "1C:Enterprise 8.3 (veya sürümünüz) Server Agent" ve başlamak için - net start "1C:Enterprise 8.3 (sürümünüze göre) Server Agent". Böyle bir çözüm sorunu tamamen ortadan kaldırmaz - çoğu zaman hata tekrarlanır. Tekrarlarının sıklığı, istemcilerin sayısına ve çalışan süreçlerin sayısına bağlıdır.

ÖNEMLİ. Yeniden başlatabilmek için uygun haklara sahip olmanız gerekir.

Otomatik yeniden başlatma ve küme ayarları

Bazen çalışan bir iş akışı bile neredeyse tüm RAM'i kaplayabilir. Bu sorun küme ayarlarında sayıları artırılarak çözülür. Her on beş ila otuz kullanıcı için yaklaşık bir işlem eklenir.

Yeniden başlatma aralığı. Bir öncekinin tamamlanmasından kısa bir süre önce, yeni bir süreç olan rphost.exe başlatılır. - Eskisinden bağlantılar ona aktarılır. İzin verilen bellek boyutu - bu değer aşılırsa ikinci bir geri sayım sayacı başlatılır.

Hacim sınırını aşma aralığı - zamanlayıcı bu değeri aştığında yeni bir süreç başlatılacaktır. Ve eskisinden gelen bağlantılar ona bağlanacak. Ve eskisi de etkin değil olarak işaretlendi. Kapalı sonra işlemleri durdur - iş akışını devre dışı olarak işaretledikten sonra bu parametrenin değeri geçtikten sonra işletim sistemi tarafından sonlandırılacaktır. Bu parametre "0" olarak ayarlanırsa, etkin olmayan tüm işlemler otomatik olarak sonlandırılmayacaktır.

ÖNEMLİ. Bu ayar, yalnızca yanlış raporu başlatan istemcinin veritabanıyla bağlantısını kesmesi bakımından tipiktir. Ve geri kalanı - sorunsuz bir şekilde yeni bağlantılara taşınacak (tabanlarından kesinti olmadan).

Çalışan süreç sayısı

rphost.exe arka plan işleriyle aşırı yüklenmişse ve yeni süreç oluşturulmamışsa, ayarları kontrol edin:

Maks. çalışan işlem belleği, birleştirilen tüm işlemler için toplam bellektir. Bayt cinsinden ölçülür. Yanlış değeri ayarlarsanız (normal çalışma için yetersiz), herkes “1s sunucusunda yeterli boş bellek yok” hatasını alır.

1 arama başına güvenli bellek tüketimi - sunucu tarafından yapılan bir arama sırasında bellek tüketimini kontrol eder (bayt olarak). Bir çağrı belirtilenden fazlasını kullanırsa, küme içinde sonlandırılır. Yeniden başlatılmayacak. Ve seansın kaybı diğer müşterileri etkilemeyecektir.

Sunucunun sistem tarafından verimli kabul edildiği işlemler için bellek miktarı - bu değere ulaşıldığında, küme sunucusu bağlantıları kabul etmeyi durdurur. İşlem başına bilgi tabanı sayısı - bilgi tabanlarını süreçlere göre izole eder. Bilgi tabanlarını izole ettikten sonra ( - "1" değerini girerken), problemler genellikle çözülür.

İşlem başına bağlantı sayısı - varsayılan değer "128"dir. Eğer bir mevcut taban arka plan işlerinden çok büyük bir yükte farklılık gösterirse, bu sayıyı örneğin "25" e düşürebilirsiniz. Bu ayarlarla küme kurulumu da biraz değişecektir:

Hata tolerans düzeyi - istemci çökmesi olmayacak bir hata durumunda sunucu sayısını gösterir. Aynı zamanda, gerekli sayıda yedekleme hizmetleri otomatik olarak başlatılacaktır.

Yük paylaşım modu - iki olası seçeneğe sahiptir. "Performans Önceliği"ni ayarlarsanız - performansı artırmak için sunucu belleği daha fazla tüketilir. "Hafızaya göre öncelik" seçildiğinde - 1C kümesi bellekten tasarruf sağlayacaktır.

Temel Aracı

Veritabanı ile çalışmak için MS SQL DBMS araçlarını kullanmak gerekir.

Yapılandırma kontrolü

Belki de hatanın nedeni, Yapılandırmada yer alan yanlış bilgilerde yatmaktadır. Kontrol etmek için "Konfigürasyonu kontrol et" komutunu çalıştırmanız gerekir. (Test ile karıştırılmamalıdır!). Yürütmeden önce, onay kutusunun (bayrak) - "mantıksal bütünlük" ayarını kontrol etmeniz gerekir. Bir hata bulunursa, mesaja yansıtılacaktır. Ve hatalar kaldırılacaktır.

1C sunucusunda boş bellek olmamasının nedenlerini ve buna olası çözümleri inceledik. Yöntemlerden biri kesinlikle sorunu çözecektir.

1C 8.3'te “Yeterli bellek yok” hatasını düzeltme seçeneklerini daha ayrıntılı olarak ele alalım.

Yöntem 1. Adres belleğinin boyutunu artırın

için adres belleği tahsisinde bir sınırlama vardır. yazılım işletim sistemi: 32 bit sistem için - 2 GB; 64 bit sistem için - 4 GB.

Aşama 1

Adres belleğinin boyutunu artırmak için aşağıdakileri yapmanız gerekir: Komut satırını Yönetici haklarıyla çalıştırın:

  • Başlat - Çalıştır - komut isteminde CMD yazın ve Enter'a basın:
  • Veya Başlat düğmesine sağ tıklayın ve Komut İstemi'ni (Yönetici) seçin.

Adım 2

Ardından, adres belleğini artırmak için komutu yazmamız gereken komut iletişim kutusuna giriyoruz. BCDEdit /set boostuserva xxxx komut satırına girin, burada xxxx yerine sanal adres alanı miktarını megabayt olarak belirtiriz. Örneğin, 32 bit sistemlerde 3072 MB önerilir:

Aşama 3

Bilgisayarı yeniden başlatıyoruz. 1C 8.3 programında daha önce elde edilmemiş eylemleri gerçekleştirelim.

4. Adım

İşlemleri yaptıktan sonra adres hafızasını varsayılan değere döndürmek daha iyidir. Bunu yapmak için komut satırına BCDEdit /deletevalue boostuserva yazın:

Bilgisayarı yeniden başlatıyoruz.

Yöntem 2. Silinmek üzere işaretlenmiş belgeleri ve dizinleri silin

1C 8.3 platformunda, zamanlanmış bir görev yardımıyla mümkün oldu.

İşaretli nesneleri silmek şunları yapmanızı sağlar:

  1. Sistem performansını artırın;
  2. Veritabanının boyutunu küçültün.

Adım 1. Veritabanının bir kopyasını oluşturun

Öğeyi açın: Yönetim - Program ayarları - Destek ve bakım - bölümü Destek olmak ve kurtarma:

Otomatik veritabanı kopyalama için bir zamanlama ayarlayın ve Bitir'e tıklayın:

Nasıl yapacağınızı öğrenin destek olmak 1С 8.3 video eğitimimize bakın:

Adım 2. İşaretli nesneleri kaldırın

Öğeyi açın İşaretli nesneleri bir programda otomatik olarak sil: bölüm Yönetim - Uygulama ayarları - Destek ve bakım - Zamanlanmış işlemler:

1C 8.3'te işaretli nesnelerin uygun bir zamanda otomatik olarak silinmesi için bir program oluşturduk. Örneğin, öğle yemeği molası sırasında Bitti'ye tıklayın:

Yapılan işlemler sonucunda veritabanının boyutu küçülecek, sistem performansı artacak ve 1C “Yeterli bellek yok” hatası oluşmamalıdır.


Bu makaleye oy verin:

1C hatası “Yeterli bellek yok” (Şekil 1) oluştuğunda tüm durumları listelemek imkansızdır. Ana olanları tanımlamaya çalışalım:

  • Yapılandırmayı güncellerken;
  • Uygulama başladığında;
  • Rapor oluştururken;
  • Büyük hesaplamalar yaparken ("Maliyet hesaplaması", "Ayın kapanması" vb.

Her durumda, sebep aynıdır - eksikliği fiziksel hafıza bilgisayar. Aynı zamanda cihaza ek şeritler eklenmesi rasgele erişim belleği her zaman sorunu çözmez.

Kullanılabilir bellek miktarını ne belirler?

32 bit işletim sistemlerinin önemli bir özelliği vardır: RAM miktarı ve disk belleği dosyasının boyutu ne olursa olsun, işletim sistemi belirli bir uygulamanın çalışması için yalnızca 4 GB ayırır.

Adres alanının yarısı göz önüne alındığında sanal bellek sistemin kendi ihtiyaçları için ayrılmıştır, uygulamanın çalışması için sadece 2GB kalır. Bir program çalışırken, sanal bellek adres alanı bir bitişik blokta ayrılmalıdır. Bu mümkün olmadığında bir pencere açılır (Şekil 1).

Kullanılabilir bellek nasıl artırılır

İşletim sistemini yeniden yüklemeden durumu düzeltmek için iki seçenek vardır:


Bu yöntemleri kullanarak işletim sistemi için ayrılan adres alanını 1 GB'a indirebilir, uygulamanın belleğini 3 GB'a yükseltebilirsiniz.

Dikkat! Manuel olarak bellek ayırarak, çalışırken sorunlarla karşılaşabilirsiniz. kişisel bilgisayar sistemin tamamen kapanmasına kadar.

Boot.ini dosyasından satırın kaldırılması veya komutun 2900 parametresi 2000 ile değiştirilerek çalıştırılması, sistemi orijinal durumuna döndürür.

Bu yöntemlerin soruna yalnızca geçici bir çözüm olduğunu anlamak önemlidir, nihai ortadan kaldırılması için veritabanını 64 bit platforma aktarmak gerekir.

Rapor oluştururken bellek yetersiz

Çok yaygın değil, ancak bu hata raporlar oluştuğunda ortaya çıkıyor. Bu durumda, elektronik tablo oluşturma işleminin yürütülmesi ertelenir ve son olarak ilk şekildeki gibi bir pencere ile biter.

İşletim sistemi ayarlarına girmeden ve RAM tahsis parametrelerini değiştirmeden önce, bu durumda rapor ayarlarını değiştirmeyi denemek daha iyidir. Tarihi değiştirin, gruplamaları değiştirin, bir seçim ekleyin. Çoğu durumda bu yardımcı olur.

Hata standart olmayan bir raporda (hesap kartı veya bilanço gibi) oluşursa ve işleme kaynak koduna erişiminiz varsa, sorguda geçici tabloların oluşturulup oluşturulmadığını kontrol edin. RAM'de yazılan ve isteğin sonuna kadar var olan, zayıf bir bilgisayarın kaynaklarını önemli ölçüde tüketebilirler.

Genel olarak, bu tür durumlardan kaçınmak için, bir sorgudaki geçici tabloların artık gerekmedikleri anda yok edilmesi şiddetle tavsiye edilir.

Sunucu belleği sızıntıları

Bazı durumlarda, kullanıcılar Şekil 3'te gösterilen bir mesaj alırlar.

Pirinç. 3.

Sunucunun bu davranışının sebeplerinden ayrıca bahsetmek istiyorum.

Genel olarak, "bellek sızıntısı" ifadesi biraz yanlıştır, belleğin saklandığını, katmanlı olduğunu söylemek daha iyidir. İşlemleri başlatan programlar, bunları zamanında sonlandırmayı unutur. Sonuç olarak, RAM'de birikir.

İkinci neden, bellek parçalanmasıdır. Sunucunun çalışması sırasında yoğun bir RAM rezervasyonu ve serbest bırakılması varsa, anlardan birinde boş bellek miktarının yeterli olduğu bir durum ortaya çıkabilir, ancak yeterli boyutta sürekli bir bellek adresi bloğu yakalamak imkansızdır. .

İkinci sorun şu şekilde çözülebilir: sistem yardımcı programları.

Sonuç olarak, şunları yapabilirler:

  1. Bağlantıda sorunlar var, kopuyor, program çöküyor; (Şek. 4)

Şekil 4

  1. Boşaltma sırasında hatalar ve donmalar görünüyor bilgi tabanı;
  2. 1C süreçleri tarafından işgal edilen bellekte atlamalar var.

Hataları güncelle

Bu bellek yetersiz senaryosu, yapılandırmayı en son sürüme güncellemeye çalışırken oluşur. Çok sayıda ilişkili olabilir çalışan uygulamalar, ve veritabanındaki hatalarla.

Bu sorun oluştuğunda atılması gereken ilk adım, güncellenmiş veritabanını yapılandırıcı modunda başlatmak ve yeniden yapılandırmaktır (Yönetim->Test etme ve düzeltme menü öğesi), ancak hataları düzeltmek ve yeniden yapılandırmak için kapsamlı bir çalışma yapmak daha iyidir. - indeksleme tabloları.

"Bilgisayarın yeterli belleği yok" hatası, sanal belleğin yanı sıra RAM eksikliğinden kaynaklanmaktadır. Bu bağlamda, bu duruma neden olabilecek en olası nedenler şunlardır:

  • Gerçek bir fiziksel RAM sıkıntısı var;
  • Şu anda bilgisayarda birçok işlem çalışıyor (bunlar, örneğin tarayıcı sekmeleri gibi çalışan uygulamalar içindeki programlar ve oturumlar olabilir);
  • Sabit disk neredeyse tamamen dolu - bu durumda disk belleği dosyası normal şekilde çalışmayacaktır;
  • Ayrıca, bir uygulamanın görevlerini gerçekleştirmek için mevcut tüm alanı kapladığı bir durum olan "bellek sızıntısına" neden olabilecek programlar da vardır.

Bu sebeplerden dolayıdır işletim sistemi"Bilgisayarda belleği boşaltmak için yeterli bellek yok, programları kapatın" hatası veriyor.

Aslında, bu sorunun çözümü kök nedene bağlıdır.

Fiziksel bir RAM sıkıntısı olması durumunda, elbette, mağazadan RAM şeritleri satın alarak hacmini artırmanız gerekecektir. Çoğu bilgisayar şimdi 8 GB kullanıyor, ancak hepsi bilgisayarın satın alındığı görevlere bağlı. Çok sayıda çıta desteğine de dikkat etmeniz gerektiğinde anakart. Ayrıca, bilgisayar yeni değilse ve yükseltme planı yoksa, ne yazık ki böyle bir sistem çalışmasına katlanmak zorunda kalacaksınız.

nedeni ise HDD tamamen dolu ve bilgisayarda yeterli bellek yok, boşaltmak için Disk Temizleme yardımcı programına ihtiyacınız olacak. Güzelliği, sistem tarafından kullanılan dosyaları silmenize ve çalışmazlığına yol açmanıza izin vermeyecek olmasıdır. Başka bir deyişle, disk temizleme Windows yardımcı programı geçici ve çoğu durumda işe yaramaz diğer bir dizi dosyayı güvenle silmenize yardımcı olur. C: sürücüsüne sağ tıklayıp "Özellikler"i ve ardından "Disk Temizleme"yi seçerek çalıştırabilirsiniz.

Yardımcı program bir başlangıç ​​analizi yapacak ve hangi dosyaların silinebileceğini gösterecektir. Kural olarak, bu durumda çok büyük bir hacim olmayacaktır. "Sistem dosyalarını temizle" seçeneğine tıklayarak başka bir analiz aşaması gerçekleşecek ve boş alan miktarı kesinlikle artacaktır.

Ayrıca disk belleği dosyasının etkin olup olmadığını da kontrol etmelisiniz. Programların çalışması için yeterli bellek olmaması ve şu anda fiziksel olarak mevcut olandan daha fazlasının gerekli olması durumunda kullanılır - bu durumda, eksiklik sabit diskteki boş alan ile telafi edilecektir. "Denetim Masası" nı, ardından "Sistem" i açmanız gerekir.

açtıktan sonra Ekstra seçenekler sistemler."

"Gelişmiş" sekmesine geçin.

"Değiştir"e tıklıyoruz.

Bu pencerede, disk belleği dosyasının boyutunu yönetebilirsiniz. Boyutunu otomatik olarak ayarlamanız önerilir.

Başka bir program veya çok sayıda işlem nedeniyle yeterli bellek olmaması durumunda, hangisinin olduğunu anlamak mantıklı olacaktır. Bu durumda, "Detaylar" sekmesindeki işlemleri "Bellek" sütununa göre sıralayarak Görev Yöneticisini kullanabilirsiniz.

Listedeki süreçleri analiz ettikten sonra bunlarla ne yapacağınıza karar verebilirsiniz. Bu, normal çalışma (örneğin bir güncelleme sırasında) veya anormal (dahili uygulama hatası) olabilir veya kötü amaçlı yazılım bile olabilir. Her durumda, kötü amaçlı nesneleri kontrol etmek zarar vermez. Bununla birlikte, belirli bir uygulama yeterli bellek bulunmadığına dair bir hataya neden olursa, olumsuz etkileri ortadan kaldırmak için bu yazılımın desteğine başvurmanız önerilir.

İyi günler!