• Yapılandırma 1s 8.3 güncellenirken, yeterli bellek yok. Yetersiz demir gücü

    Bu hata, 1C 8.3 için oldukça tipiktir, birçok kullanıcı bununla karşılaşır.

    nedenler

    Aslında "Yeterli bellek 1C yok" hatasının ortaya çıkmasının birkaç nedeni var. Çoğu zaman, bu hata, 1C Enterprise yapılandırması yanlış güncellendiğinde ortaya çıkar. Nadiren, büyük bir veritabanını yüklemek veya çok büyük bir dosyayı işlemeye çalışmak bir hatayla sonuçlanır.

    Bu işlemler sırasındaki hatanın nedeni adres belleği eksikliğinden kaynaklandığı için, 1C programının kurulu olduğu ekipmanı yükselterek çözmek mümkün olmayacaktır.

    Gerçek şu ki, işletim sistemi yazılıma sınırlı miktarda adres belleğine erişim sağlıyor, kural olarak bu miktar otuz iki bit işletim sistemleri için 2 gigabayt ve altmış dört bit işletim sistemleri için 4 gigabayttır.

    Bir sorunuz mu var, bir danışmanın yardımına mı ihtiyacınız var?

    Adres belleği miktarı nasıl artırılır?

    1C programı için mevcut olan adres belleğini genişletmek zor değil. Bunu yapmak için komut satırını aramanız gerekir. Bu, en kolayı Başlat menüsü simgesine sağ tıklamak olan "Komut İstemi" olmak üzere birkaç şekilde yapılabilir.
    Görünen pencerede aşağıdakileri girin:

    sayısal değer, istenen bellek miktarıdır ve "Enter" tuşuna basın. Bundan sonra, bilgisayarınızı yeniden başlatmanız gerekecek. Daha sonra başarısız olan işlemi yeniden denemeyi deneyebilirsiniz. Hata devam ederse, bir uzmanla iletişime geçmenizi öneririz.
    Programcılarımız size tavsiyelerde bulunmaktan ve yardımcı olmaktan mutluluk duyacaktır.

    Hatalar oluşur. "1C:Enterprise sunucusunda yeterli boş bellek yok" konusuna adanmış 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ükünde, 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 hafıza yok. Birkaç tane olabilir:

    Yetersiz demir gücü

    Sistemde en fazla beş kişi çalışıyorsa, iki vidalı (birinde - SUNUCU, ikincisinde - SQL) ve ek olarak takılı yongalara sahip sekiz gigabaytlık bir bilgisayar yeterli olacaktır. Ama başka bir şey - yaklaşık otuz kullanıcı, binlerce birincil belge. Burada SQL'in ayrıca ayrı bir sunucuya taşınması gerekir ve bir terminal sunucusu artık başa çıkamaz.

    Ekstra bilgi için hafıza eksikliği

    Tipik yapılandırmalar, 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ı, bir uçurum meta veri nesneleri, ek SQL tabloları, kullanılmayan ayrıntılar şeklinde ek bagaj alır. Programın kayıtlarında gereksiz olan tüm bunların kalıcı kaydı ve yeniden indekslenmesi uzun zaman ve çok yer kaplıyor.

    Kodlama hataları

    Programcılar (bazen) bazı süreçleri anlamadıklarında ve görevleri tamamlamak için gereken süreyi (ve ayrıca iş süreçlerinin sayısını) artıran kendi "koltuk değneklerini" devreye soktuklarında da sunucu aşırı yüklemesi 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 hileleri tartışırken ş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 kurtulmanın farklı yolları da vardır:

    Sunucu hizmetini yeniden başlatma

    En hızlı ve en kolay çözüm, sunucu hizmetini yeniden başlatmaktır. Microsoft Windows komut satırından (cmd): durdurmak için komut yürütülür - net stop "1C: Enterprise 8.3 (veya sürümünüz) Sunucu Aracısı" ve başlatmak için - net start "1C: Enterprise 8.3 (sürümünüze göre) ) Sunucu Aracısı". Böyle bir çözüm sorunu tamamen ortadan kaldırmaz - çoğu zaman hata tekrarlanır. Tekrarlanma sıklığı, müşteri 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 işlem 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 işlem başlatılır. Ve eskisinden gelen bağlantılar ona bağlanacak. Ve eskisi de devre dışı olarak işaretlendi. Kapalı stop process after - iş akışını etkin değil olarak işaretledikten sonra bu parametrenin değeri geçtikten sonra, işletim sistemi tarafından sonlandırılır. Bu parametre "0" olarak ayarlanırsa, etkin olmayan tüm işlemler otomatik olarak sonlandırılmaz.

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

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

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

    Maks. çalışan işlem belleği, birleştirilmiş tüm işlemler için toplam bellektir. Bayt cinsinden ölçülür. Yanlış değer 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ılacaktır. Yeniden başlamayacaktır. Ve oturumun kaybı diğer müşterileri etkilemeyecektir.

    Sunucunun sistem tarafından üretken olarak 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ı işlemlere göre izole eder. Bilgi tabanlarını ayırdıktan sonra ("1" değerini girerken), sorunlar genellikle çözülür.

    İşlem başına bağlantı sayısı - varsayılan değer "128"dir. Geçerli veritabanı arka plan işlerinden çok yüksek bir yüke sahipse, bu sayıyı örneğin "25" e düşürebilirsiniz. Bu ayarlarla, küme kurulumu da biraz değişecektir:

    Hata toleransı seviyesi - bir arıza durumunda istemcilerin çökmeyeceği 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üketilecektir. "Belleğe göre öncelik" seçildiğinde - 1C kümesi hafızadan tasarruf sağlayacaktır.

    Temel Araç

    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ırma'da yer alan yanlış bilgilerde yatmaktadır. Kontrol etmek için "Yapılandırmayı kontrol et" komutunu uygulamanı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 silinecektir.

    1C sunucusunda boş hafıza olmamasının nedenlerini ve bunun olası çözümlerini 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

    İşletim sistemi tarafından yazılım için adres belleği tahsisinde bir sınırlama vardır: 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. Komut satırına BCDEdit /set boosterva xxxx girin, burada xxxx yerine sanal adres alanı miktarını megabayt cinsinden belirtiyoruz. Ö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.

    Adım 4

    İşlemleri gerçekleştirdikten sonra, adres hafızasını varsayılan değere döndürmek daha iyidir. Bunu yapmak için, komut satırına BCDEdit /deletevalue artışuserva 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 sayesinde mümkün oldu.

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

    1. Sistem performansını artırın;
    2. Veritabanının boyutunu azaltın.

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

    Öğeyi açın: Yönetim - Program ayarları - Destek ve bakım - Yedekleme ve geri yükleme bölümü:

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

    1C 8.3'ün yedek kopyasının nasıl oluşturulacağı hakkında daha fazla bilgi için 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 - Planlanmış işlemler:

    1C 8.3'te işaretli nesnelerin uygun bir zamanda otomatik olarak silinmesi için bir program oluşturduk. Örneğin, öğle tatilinde ve Bitti'yi tıklayın:

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


    Bu makaleyi derecelendirin:

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

    • Konfigürasyon güncellenirken;
    • Uygulama başladığında;
    • Rapor oluştururken;
    • Büyük hesaplamalar yaparken ("Maliyet hesaplaması", "Ayı kapatma" vb.

    Her durumda sebep aynıdır - bilgisayarın fiziksel belleğinin olmaması. Aynı zamanda cihaza ek RAM şeritleri eklemek sorunu her zaman çö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.

    Sanal bellek adres alanının yarısının sistemin kendi ihtiyaçlarına ayrıldığı düşünülürse geriye uygulamanın çalışması için sadece 2 GB kalıyor. 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 (Şek. 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 düşürebilir, uygulama için belleği 3 GB'a yükseltebilirsiniz.

    Dikkat! Belleği manuel olarak ayırarak, sistemin tamamen kapanmasına kadar kişisel bir bilgisayarın çalışmasında sorunlarla karşılaşabilirsiniz.

    Satırı boot.ini dosyasından kaldırmak veya 2900 parametresi 2000 ile değiştirilen komutu çalıştırmak, 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 bitlik bir platforma aktarmak gerekir.

    Bir rapor oluşturulurken 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 sonunda ilk şekildeki gibi bir pencere ile sona erer.

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

    Standart bir raporda (hesap kartı veya bilanço gibi) hata oluşmuyorsa 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 gerekli olmadığı anda imha edilmesi önemle 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 katmanlı, depolandığını söylemek daha iyidir. İşlemleri başlatan programlar, bunları zamanında sonlandırmayı unutur. Sonuç olarak, RAM'de birikir.

    İkinci sebep, bellek parçalanmasıdır. Sunucu çalışması sırasında yoğun bir RAM ayırma ve serbest bırakma 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 sorunu sistem yardımcı programlarının yardımıyla çözebilirsiniz.

    Sonuç olarak, şunları yapabilirler:

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

    Şekil 4

    1. Bilgi bankasını boşaltırken hatalar ve donmalar görünüyor;
    2. 1C işlemleri tarafından işgal edilen bellekte atlamalar var.

    Güncelleme hataları

    Bu yetersiz bellek senaryosu, yapılandırmayı en son sürüme güncellemeye çalışırken ortaya çıkar. Hem çalışan çok sayıda uygulamayla hem de veritabanındaki hatalarla ilişkilendirilebilir.

    Bu sorun ortaya çıktığında atılacak ilk adımlar, güncellenen veritabanını konfigüratör modunda başlatmak ve yeniden yapılandırmaktır (Yönetim->Test ve düzeltme menü öğesi), ancak hataları düzeltmek ve yeniden düzenlemek için kapsamlı bir çalışma yapmak daha iyidir. - indeksleme tabloları.

    1C 8.3 ile çalışırken meydana gelen en yaygın hatalardan biri "Yeterli bellek yok" hatasıdır. Gerçekte, birçok olaydan sonra ortaya çıkabilir - güncelleme, büyük dosyaları işleme, rapor oluşturma, veri yükleme ve diğerleri. Bu, herhangi bir 1C yöneticisinin ve geliştiricisinin sorunun özünü anlaması ve çözebilmesi gerektiği anlamına gelir. PC RAM veya sabit sürücüdeki basit bir artış bu sorunu çözmeyecektir.

    İstemci bilgisayardaki bir sorunu çözme

    Diğer uygulamalarda benzer bir hata görebileceğiniz için bu hatanın nedenleri tamamen 1C sisteminde değildir. Sorun, Microsoft ailesinin işletim sistemlerinin varsayılan olarak uygulama başına belirli bir miktarda bellek ayırmasıdır. 32 bit sistemler için bu değer 2 GB, 64 bit sistemler için - 4 GB olarak ayarlanmıştır. Yazılım bu değeri aştığında, monitörde bir hata penceresi görünür.

    Bu tür mesajlardan kurtulmanın en kolay yolu, yapılandırmada silinmek üzere işaretlenmiş nesneleri silmektir. Bu nadiren yardımcı olur, ancak gereksiz tereddütleri ortadan kaldırır. Ek olarak, Windows'un dahili ayarlarına müdahale gerektirmediğinden, bu eylemlerin riski minimumdur. Kaldırma yardımcı olmadıysa, diğer yöntemlerle savaşmanız gerekecek.

    32 bit sistemler için bir başka çözüm de 64 bit'e geçmek veya uygulamalara daha fazla bellek ayırmaktır. İlk seçenek çok daha doğrudur, ancak bazen çeşitli nedenlerle mümkün olmamaktadır. Ardından, yalnızca aşağıda gösterilen eylemlerin algoritmasına sahip seçenek kalır, ancak çok dikkatli kullanılmalıdır - tüm sistemin performansıyla ilgili önemli sorunlar olabilir.

    Bu algoritma oldukça basittir:

    1. Bir Windows Komut İstemi açın. "Başlat" menüsünü veya Windows + R tuş kombinasyonunu kullanın ve "cmd" komutunu girin;
    2. Görünen pencerede "bcdedit / set boostuserva 3200" komutunu yazın (örneğin, sınırı 3,2 GB'a yükseltin). Limiti dikkatlice ve kademeli olarak arttırmaya değer;
    3. Komut satırı penceresinde işlemin başarıyla tamamlandığını onayladıktan sonra, bilgisayarı yeniden başlatın ve hataya neden olan adımları gerçekleştirmeyi tekrar deneyin. Sorun devam ederse ve 1C hala çöküyorsa, limiti tekrar artırabilirsiniz;
    4. 1C'de işlem hatasız başarıyla tamamlandıktan sonra, "bcdedit / deletevalue boosterva" komutuyla varsayılan Windows kısıtlamalarını geri yükleyin. Bu, işletim sisteminin 1C ve diğer uygulamalar uğruna performansını ihlal etmemesi için gerekli bir adımdır.

    Bu çözüm, “Yeterli bellek yok” 1C hatası nedeniyle gerçekleştirilemeyen bir işlemi gerçekleştirmenizi sağlar. Sadece acil durumlarda, operasyonun hemen yapılması gereken durumlarda kullanabilirsiniz. Diğer durumlarda, 1C'yi 64 bit platformda çalıştırmayı denemek ve işlemi orada tekrarlamak daha iyidir.

    Yükseltme veya büyük ölçekli çalışma sırasında sunucuda yeterli bellek olmadığı mesajı çok daha ciddidir. Sorun, çeşitli yazılımlar tarafından başlatılan işlemlerin zamansız bir şekilde sona ermesi ve bunun sonucunda bunların sanal bellekte bir "katman" ve birikimi olması olabilir. Böyle bir hatanın ikinci kaynağı, hafızanın ayrılması ve serbest bırakılması ile çeşitli programların yoğun çalışmasıdır. Bu sorunları çözmek için çeşitli yazılımlar vardır, ancak uygulama bunun bağlantı kopmalarına ve 1C çökmelerine neden olduğunu göstermektedir.


    Bu tür hatalar, 1C sunucusunun yeterince güçlü olup olmadığını merak etmenize neden olur. Kapasitesini artırmak şirkete fayda sağlayacaktır, ancak böyle bir hata, fon enjeksiyonu gerektirmeyen başka yollarla önlenebilir.

    Elbette bunları her zaman kullanmamalısınız, ancak bir gün gerekirse acilen kaynak yoğun işlerin yapılmasına yardımcı olabilirler. Sunucudaki bellek eksikliği hatasını çözmeye yardımcı olabilecek popüler yöntemler arasında şunlar yer alır:

  • Kullanılan belleği azaltacak 1C iş akışlarını yeniden başlatma. Bu seçenek yalnızca 1C sunucusunun yönetim konsolunu anlayan deneyimli yöneticiler için uygundur;
  • Teknoloji günlüğünü kullanarak, bir güncelleme veya başka bir işlem sırasında "bellek yetersiz" hatasıyla yüklenen bir tablo bulun. "Yapılandırma" tablosuyla çalışırken bir hata oluşursa, "Yapılandırmanın mantıksal bütünlüğünü kontrol et" bayrağıyla yapılandırmayı kontrol edin. Bu işlevi konfigüratörde "Konfigürasyon" menüsünde bulabilirsiniz.
  • Başka bir yaygın 1C hatası, sunucudaki sabit sürücüde yeterli alan olmadığında ortaya çıkar. Geçici tablolar çok yer kaplar ve yeterli alan yoksa yönetici "İşlemi tamamlamak için yeterli boş bellek yok" hatasını görür. Bu durumda, sunucu veya küme aygıtı farklı seçeneklerde önemli ölçüde değişebileceğinden doğru tavsiye vermek zordur. Bu gibi durumlarda yardımcı olan standart çözümler arasında sunucu yeniden başlatma, boş alan artırma, sorgu optimizasyonu, sürüm yükseltme bulabilirsiniz.


    Çok sayıda kullanıcısı olan şirketlerde, "1C:Enterprise 8.3 sunucusunda yeterli boş bellek yok" hatası oldukça sık görülür. Bunun büyük bir sorunu ve ön koşulu, gerekli performansın yetersiz analizidir. Bu nedenle, 1C'yi uygularken, gelecekte istikrar pahasına performansı ayarlamak zorunda kalmamak için sunucuların yeterli gücüne büyük önem verin.