Yetersiz demir gücü

1C 8.3 ile çalışırken ortaya çıkan en yaygın hatalardan biri "Yeterli bellek yok". Gerçekte bu durum 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 yöneticinin ve 1C geliştiricisinin sorunun özünü anlaması ve çözebilmesi gerektiği anlamına gelir. Yalnızca bilgisayarınızın RAM'ini veya sabit sürücüsünü artırmak bu sorunu çözmez.

İstemci bilgisayardaki sorunu çözme

Bu hatanın nedenleri tamamen 1C sisteminde yatmıyor çünkü benzer bir hatayı diğer uygulamalarda da görebiliyorsunuz. Sorun, Microsoft ailesinin işletim sistemlerinde varsayılan olarak her uygulama için belirli bir miktarda belleğin ayrılmış olmasıdır. 32 bit sistemler için bu değer 2 GB, 64 bit sistemler için ise 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. Ayrıca Windows'un dahili ayarlarına müdahale gerektirmediğinden bu eylemlerin riski minimumdur. Kaldırma işe yaramazsa, başka yöntemlerle savaşmanız gerekecektir.

32 bit sistemler için bir diğer çözüm ise 64 bit sürüme geçmek veya uygulamalara daha fazla bellek ayırmaktır. İlk seçenek çok daha doğrudur, ancak bazen çeşitli nedenlerden dolayı imkansızdır. O zaman yalnızca aşağıda gösterilen eylem algoritmasına sahip bir seçenek var, ancak bunu çok dikkatli kullanmalısınız - tüm sistemin performansında önemli sorunlar olabilir.

Bu algoritma oldukça basittir:

  1. Windows Komut İstemi'ni açın. Başlat menüsünü veya Windows +R tuş birleşimini kullanın ve “cmd” komutunu girin;
  2. Açılan pencereye “bcdedit /set boostuserva 3200” komutunu yazın (örneğin limiti 3,2 GB’a çıkaracağız). Limiti dikkatlice ve kademeli olarak arttırmaya değer;
  3. Komut İstemi penceresinde işlemin başarıyla tamamlandığını onayladıktan sonra bilgisayarınızı yeniden başlatın ve hataya neden olan adımları tekrar deneyin. Sorun çözülmezse ve 1C hala çöküyorsa limiti tekrar artırabilirsiniz;
  4. İşlemin 1C'de hatasız olarak başarıyla tamamlanmasının ardından “bcdedit /deletevalue boostuserva” komutuyla varsayılan Windows kısıtlamalarını geri yükleyin. Bu, işletim sisteminin 1C ve diğer uygulamalar uğruna performansından ödün vermemesi için gerekli bir adımdır.

Bu çözüm, 1C "Yetersiz bellek" hatası nedeniyle gerçekleştirilemeyen bir işlemi gerçekleştirmenize olanak tanır. Yalnızca operasyonun hemen yapılması gereken acil durumlarda kullanılabilir. Diğer durumlarda, 1C'yi 64 bitlik bir platformda çalıştırmayı denemek ve işlemi orada tekrarlamak daha iyidir.

Güncelleme veya büyük ölçekli bir işlem sırasında sunucuda yeterli bellek bulunmadığı mesajını çok daha ciddiye almalısınız. Sorun, çeşitli yazılımlar tarafından başlatılan işlemlerin zamansız tamamlanması ve bunun sonucunda bunların sanal bellekte "katmanlanması" ve birikmesi olabilir. Böyle bir hatanın ikinci kaynağı, çeşitli programların hafıza rezervasyonu ve serbest bırakılmasıyla yoğun çalışmasıdır. Bu sorunları çözmek için çeşitli yazılımlar vardır, ancak uygulamalar bunun bağlantı kopmalarına ve 1C çökmelerine neden olduğunu göstermektedir.


Bunun gibi hatalar 1C sunucusunun yeterince güçlü olup olmadığını merak etmenize neden olur. Kapasitenin artırılması şirkete fayda sağlayacaktır ancak bu hata, nakit enjeksiyonu gerektirmeyen başka yollarla da önlenebilir.

Elbette bunları her zaman kullanmamalısınız, ancak bir gün gerekirse kaynak yoğun işleri acilen gerçekleştirmenize yardımcı olabilirler. Sunucudaki yetersiz bellek hatasını çözmeye yardımcı olabilecek popüler yöntemler arasında şunlar yer almaktadır:

  • Kullanılan belleğin azalmasına neden olacak 1C iş süreçlerinin yeniden başlatılması. Bu seçenek yalnızca 1C sunucu 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 yüklendiğinde "Yetersiz bellek" hatası alan bir tablo bulun. "Config" tablosuyla çalışırken bir hata ortaya çıkarsa, "Yapılandırmanın mantıksal bütünlüğünü kontrol edin" bayrağıyla yapılandırmayı kontrol edin. Bu işlevi “Konfigürasyon” menüsündeki yapılandırıcıda 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 kaplıyor ve yeterli alan yoksa yönetici "İşlemi gerçekleştirmek için yeterli boş bellek yok" hatasını görüyor. Bu durumda, sunucunun veya kümenin tasarımı farklı versiyonlarda önemli ölçüde farklılık gösterebileceğinden kesin tavsiyelerde bulunmak zordur. Bu gibi durumlarda yardımcı olacak standart çözümler arasında sunucunun yeniden başlatılması, boş alanın arttırılması, sorguların optimize edilmesi ve sürüm güncellemesi yer almaktadır.


    Çok sayıda kullanıcısı olan şirketlerde “1C: Enterprise 8.3 sunucusunda yetersiz boş hafıza” hatası oldukça sık ortaya çıkıyor. Büyük bir sorun ve bunun ön koşulu, gerekli performansın yetersiz analizidir. Bu nedenle, 1C'yi uygularken, yeterli sunucu gücüne çok dikkat edin, böylece gelecekte performansı istikrar pahasına ayarlamak zorunda kalmazsınız.

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

    Nedenler

    Aslında “1C belleği yetersiz” hatasının ortaya çıkmasının pek çok nedeni var. Çoğu zaman bu hata, 1C Enterprise yapılandırması yanlış güncellendiğinde ortaya çıkar. Daha az nadir olmamakla birlikte, büyük bir veritabanının yüklenmesi veya çok büyük bir dosyayı işlemeye çalışılması bir hatanın oluşmasına neden olur.

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

    Gerçek şu ki, işletim sistemi yazılıma sınırlı miktarda adreslenebilir belleğe erişim sağlar; bu bellek genellikle otuz iki bitlik işletim sistemleri için 2 gigabayt ve altmış dört bitlik işletim sistemleri için 4 gigabayttır.

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

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

    1C programının kullanabileceği adres hafızasını genişletmek zor değil. Bunu yapmak için komut satırını aramanız gerekir. Bu, en basiti “Başlat” menü simgesine - “Komut İstemi”ne sağ tıklamak olan birkaç yolla yapılabilir.
    Görünen pencerede aşağıdakileri girmelisiniz:

    burada sayısal değer istenen hafıza miktarıdır ve “Enter” tuşuna basın. Bu işlemden sonra bilgisayarınızı yeniden başlatmanız gerekecektir. Bundan sonra başarısız olan işlemi tekrarlamayı deneyebilirsiniz. Hata devam ederse bir uzmana başvurmanızı öneririz.
    Programcılarımız size tavsiyede bulunmaktan ve yardımcı olmaktan mutluluk duyacaktır.

    1C 8.3 ve 8.2'deki "Bellek Yetersiz" hatası o kadar da nadir değil. Ayrıca yapılandırıcıda (örneğin, konfigürasyonları karşılaştırırken) ve emek yoğun işlemler gerçekleştirirken 1C: Enterprise modunda da bulunabilir: örneğin, büyük bir base64 dosyası yazarken.

    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, çeşitli programlar için varsayılan olarak 2 Gigabayt vardır ve işletim sistemi için de aynı miktar vardır. 64 bit işletim sisteminde uygulamalara ayrılan bellek miktarı zaten 4 Gigabayttır.

    Yukarıdakilerin ardından, 1C programı olan uygulamalar için ayrılan adres belleğinin boyutunu artırmanız gerekir. Bu iki şekilde yapılabilir: 32 bitlik bir sistemden 64 bitlik bir sisteme geçiş yapın veya başlangıçta tahsis edilen adres belleği miktarını artırın.

    Elbette ilk yöntem daha iyi ve tercih edilir, ancak şu anda veya hiç kullanamıyorsanız ikinciyi kullanabilirsiniz.
    Başlangıç ​​günü, işletim sistemi 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 program araması görüntülenecektir. “Cmd” olarak adlandırılanı seçin.

    Komut satırını Windows + R kısayol tuşu kombinasyonunu kullanarak da açabilirsiniz.

    Açılan pencerede aşağıdaki komutu yazın ve “Enter” tuşuna basın:

    bcdedit /set artışkullanıcıva 3200

    Bu durumda adres hafızası miktarını 3200 Megabyte'a çıkaracaksınız.

    Başarılı olduktan sonra, adres belleğinin önceki miktarını geri yüklemeniz önemle tavsiye edilir. Bu önlem geçicidir, çünkü uygulamalar için bellek ayırırken işletim sisteminde daha az bellek bulunur. Bu, Windows'un kararlılığını tehlikeye atabilir.

    Adres belleğini varsayılan değerine geri yüklemek için komut satırına da girilen aşağıdaki komutu kullanabilirsiniz:

    bcdedit /deletedeğer artışıkullanıcıva

    Lütfen 1C'deki yaygın "Bellek Yetersiz" hatasıyla işaretli nesnelerin silinmesinin de yardımcı olabileceğini unutmayın. Belki de program bunlardan çoğunu biriktirmiştir ve programın bu kadar büyük miktarda veriyi işlemesi zordur. Bu yöntem işe yaramazsa, Windows işletim sisteminin bitliğini artırmalısınız.

    1C 8.3'teki “Yeterli bellek yok” hatasını düzeltme seçeneklerine daha yakından bakalım.

    Yöntem 1: Adres belleği boyutunu artırın

    İşletim sistemi tarafından yazılım için adres belleğinin 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 satırına CMD yazın ve Enter tuşuna basın:
    • Veya Başlat düğmesine sağ tıklayın ve Komut İstemi (Yönetici) öğesini seçin.

    Adım 2

    Daha sonra kendimizi, adres belleğini artırmak için bir komut yazmamız gereken bir diyalog komut penceresinde buluyoruz. Komut satırına BCDEdit /set boostuserva xxxx yazın; burada xxxx yerine sanal adres alanı miktarını megabayt cinsinden belirtiriz. Örneğin 32 bit sistemlerde 3072 MB önerilir:

    Aşama 3

    Bilgisayarı yeniden başlat. 1C 8.3 programında daha önce mümkün olmayan eylemler gerçekleştirelim.

    4. Adım

    İşlemleri gerçekleştirdikten sonra adres belleğini varsayılan değerine döndürmek daha iyidir. Bunu yapmak için komut satırına BCDEdit /deletevalue boostuserva yazın:

    Bilgisayarı yeniden başlat.

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

    1C 8.3 platformunda zamanlanmış bir görevin kullanılması mümkün hale geldi.

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

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

    1. Adım. 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 Son'a 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:

    2. Adım. İşaretli nesneleri silin

    Öğeyi açın İşaretli nesneleri bir programa göre otomatik olarak silin: Yönetim – Program Ayarları – Destek ve Bakım – Rutin İşlemler bölümü:

    1C 8.3'te işaretli nesneleri uygun bir zamanda otomatik olarak silmek için bir program hazırladık. Örneğin, öğle yemeği molası sırasında Bitir'e tıklayın:

    Bu işlemlerin sonucunda veritabanının boyutu azalacak, sistem performansı artacak ve 1C “Yetersiz bellek” hatası oluşmayacaktır.


    Lütfen bu makaleyi derecelendirin:

    Aynı durum, büyük bir raporun oluşturulması, yürütülmesi, yürütülmesi, büyük bir bilgi tabanının yüklenmesi vb. sırasında da ortaya çıkabilir. Bunun, belirli miktarda bilgisayar kaynağı gerektiren bazı büyük ölçekli işlemler gerçekleştirilirken meydana geldiğini unutmayın. Üstelik normal modda 1C programı nispeten normal çalışıyor.

    Programın kurulu olduğu diski temizlemek, program içerisinde çalıştırmak, seçerek kullanmak gibi ipuçları Bilgi tabanı tablolarını sıkıştırma , denemeye değer olsalar da büyük olasılıkla istenen sonucu vermeyecektir.

    1C programının çalışması için bilgisayar parametrelerine belirli gereksinimler getirilir ve özellikleri kurulu programa uymuyorsa, yavaşlama ve bu tür bir hatanın ortaya çıkması şeklinde sorunlar ortaya çıkabilir.

    Bilgisayarımıza daha fazla RAM ekledikten sonra hata tekrar ortaya çıkıyor. Bu durumda bunun nedeni, adreslenebilir belleğin işletim sistemi tarafından yazılım için sınırlı olarak tahsis edilmesinde yatmaktadır:

    • 32 bit işletim sistemlerinde varsayılan olarak çeşitli programlara 2 GB, işletim sistemi için de aynı miktar ayrılmıştır,
    • 64 bit işletim sistemlerinde - bellek kapasitesi zaten 4 GB'dir.

    1C ile çalışırken ve bir işlem gerçekleştirirken kullanabilirsiniz. Görev Yöneticisi işlemci yükleme sürecini ve boş bellek miktarını izleyin. Bizim durumumuzda güncelleme sırasında bu rakam sıfıra yaklaştı ve o anda “Yetersiz hafıza” hatası oluştu. Öğle yemeği Görev Yöneticisi tuşlara basılarak mümkün Ctrl+Alt+Del ve sekmeyi açıyorum Verim, bu göstergeleri izleyin.

    Bu nedenle uygulamalar için ayrılan adres belleğinin boyutunu (1C dahil) artırmamız gerekiyor. Bu iki şekilde yapılabilir: 32 bitlik bir sistemden 64 bitlik bir sisteme geçiş yapın veya ayrılan varsayılan adres belleği miktarını artırın. İlk seçenek daha doğrudur ancak bazı nedenlerden dolayı mümkün olmayabilir, o yüzden sorunun çözümü için ikinci seçeneği ele alalım.