Buku catatan 1s 8.3 memakan semua memori. Kurangnya memori untuk informasi yang tidak perlu

Salah satu kesalahan paling umum yang muncul saat bekerja dengan 1C 8.3 adalah “Memori tidak cukup”. Pada kenyataannya, hal ini dapat terjadi setelah banyak peristiwa - memperbarui, memproses file besar, membuat laporan, memuat data, dan lain-lain. Artinya setiap administrator dan pengembang 1C harus memahami inti masalahnya dan mampu memperbaikinya. Menambah RAM atau hard drive PC Anda saja tidak akan menyelesaikan masalah ini.

Memecahkan masalah pada komputer klien

Alasan kesalahan ini tidak sepenuhnya terletak pada sistem 1C, karena Anda dapat melihat kesalahan serupa di aplikasi lain. Masalahnya adalah dalam sistem operasi keluarga Microsoft, secara default, sejumlah memori dialokasikan untuk setiap aplikasi. Untuk sistem 32-bit, nilai ini disetel ke 2 GB, untuk sistem 64-bit - 4 GB. Ketika perangkat lunak melebihi nilai ini, jendela kesalahan muncul di monitor.

Cara termudah untuk menghilangkan pesan tersebut adalah dengan menghapus objek yang ditandai untuk dihapus dalam konfigurasi. Hal ini jarang membantu, namun menghilangkan keragu-raguan yang tidak perlu. Selain itu, risiko tindakan ini minimal karena tidak memerlukan intervensi dalam pengaturan internal Windows. Jika penghapusan tidak membantu, maka Anda harus berjuang dengan metode lain.

Solusi lain untuk sistem 32-bit adalah beralih ke versi 64-bit atau mengalokasikan lebih banyak memori untuk aplikasi. Opsi pertama jauh lebih tepat, tetapi terkadang karena berbagai alasan hal ini tidak mungkin. Maka hanya ada opsi dengan algoritme tindakan yang ditunjukkan di bawah ini, tetapi Anda harus menggunakannya dengan sangat hati-hati - mungkin ada masalah signifikan dengan kinerja seluruh sistem.

Algoritma ini cukup sederhana:

  1. Buka Prompt Perintah Windows. Gunakan menu Start atau kombinasi tombol Windows +R dan masukkan perintah “cmd”;
  2. Di jendela yang muncul, ketik perintah “bcdedit /set raiseuserva 3200” (misalnya, kami akan meningkatkan batas menjadi 3,2 GB). Sebaiknya tingkatkan batas secara hati-hati dan bertahap;
  3. Setelah mengonfirmasi keberhasilan penyelesaian operasi di jendela Command Prompt, restart PC Anda dan coba lagi langkah-langkah yang menyebabkan kesalahan. Jika masalah tidak kunjung hilang dan 1C masih crash, Anda dapat menambah batasnya lagi;
  4. Setelah berhasil menyelesaikan operasi tanpa kesalahan di 1C, pulihkan batasan default Windows dengan perintah "bcdedit /deletevalue enhancementuserva". Ini adalah langkah penting agar OS tidak mengurangi kinerjanya demi 1C dan aplikasi lainnya.

Solusi ini memungkinkan Anda melakukan operasi yang tidak dapat dilakukan karena kesalahan 1C "Memori tidak mencukupi". Ini hanya dapat digunakan dalam kasus darurat ketika operasi harus segera dilakukan. Dalam keadaan lain, lebih baik mencoba menjalankan 1C pada platform 64-bit dan ulangi operasi di sana.

Anda harus menanggapi pesan bahwa tidak ada cukup memori di server selama pembaruan atau operasi skala besar dengan lebih serius. Masalahnya mungkin penyelesaian proses yang diluncurkan oleh berbagai perangkat lunak sebelum waktunya, yang mengakibatkan “pelapisan” dan akumulasi proses tersebut dalam memori virtual. Sumber kedua dari kesalahan ini adalah kerja intensif berbagai program dengan reservasi dan pembebasan memori. Ada berbagai perangkat lunak untuk mengatasi masalah ini, tetapi praktik menunjukkan bahwa hal itu menyebabkan koneksi terputus dan 1C crash.


Kesalahan seperti ini membuat Anda bertanya-tanya apakah server 1C cukup kuat. Peningkatan kapasitas memang akan menguntungkan perusahaan, namun kesalahan tersebut bisa disiasati dengan cara lain yang tidak memerlukan suntikan dana.

Tentu saja, Anda tidak boleh menggunakannya terus-menerus, tetapi suatu hari nanti mereka dapat membantu Anda segera melakukan pekerjaan yang membutuhkan banyak sumber daya jika diperlukan. Di antara metode populer yang dapat membantu mengatasi kesalahan memori tidak mencukupi di server adalah:

  • Memulai ulang proses kerja 1C, yang akan menyebabkan penurunan memori yang digunakan. Opsi ini hanya cocok untuk administrator berpengalaman yang memahami konsol administrasi server 1C;
  • Dengan menggunakan log teknologi, temukan tabel yang, ketika dimuat, menerima kesalahan "Memori Tidak Cukup" selama pembaruan atau operasi lainnya. Jika kesalahan muncul saat bekerja dengan tabel "config", periksa konfigurasi dengan tanda "Periksa integritas logis konfigurasi". Anda dapat menemukan fungsi ini di konfigurator di menu “Konfigurasi”.
  • Kesalahan 1C umum lainnya terjadi ketika tidak ada cukup ruang pada hard drive di server. Tabel sementara memakan banyak ruang, dan jika tidak ada cukup ruang, administrator akan melihat kesalahan “Memori kosong tidak cukup untuk melakukan operasi.” Dalam hal ini, sulit untuk memberikan saran yang tepat, karena desain server atau cluster mungkin berbeda secara signifikan dalam versi yang berbeda. Di antara solusi standar yang membantu dalam kasus seperti itu, Anda dapat menemukan memulai ulang server, menambah ruang kosong, mengoptimalkan kueri, dan memperbarui versi.


    Di perusahaan dengan jumlah pengguna yang besar, error “Memori kosong tidak mencukupi di server 1C:Enterprise 8.3” cukup sering terjadi. Masalah besar dan prasyarat untuk ini adalah kurangnya analisis terhadap kinerja yang dibutuhkan. Oleh karena itu, saat mengimplementasikan 1C, berikan perhatian besar pada kecukupan daya server agar di kemudian hari Anda tidak perlu menyesuaikan kinerja dengan mengorbankan stabilitas.

    Kesalahan ini cukup umum terjadi pada 1C 8.3; banyak pengguna yang mengalaminya.

    Penyebab

    Faktanya, ada beberapa alasan mengapa kesalahan “1C kehabisan memori” dapat muncul. Sangat sering kesalahan ini terjadi ketika konfigurasi 1C Enterprise tidak diperbarui dengan benar. Tak jarang, memuat database yang besar atau mencoba memproses file yang sangat besar menyebabkan terjadinya error.

    Karena penyebab kesalahan selama tindakan ini terletak pada kurangnya memori alamat, masalah ini tidak dapat diselesaikan dengan memutakhirkan peralatan tempat program 1C diinstal.

    Faktanya adalah bahwa sistem operasi memberikan perangkat lunak akses ke memori beralamat dalam jumlah terbatas, biasanya 2 gigabyte untuk sistem operasi tiga puluh dua-bit dan 4 gigabyte untuk sistem operasi enam puluh empat-bit.

    Apakah Anda memiliki pertanyaan atau memerlukan bantuan konsultan?

    Bagaimana cara menambah jumlah memori alamat?

    Tidak sulit untuk menambah memori alamat yang tersedia untuk program 1C. Untuk melakukan ini, Anda perlu memanggil baris perintah. Ini dapat dilakukan dengan beberapa cara, yang paling sederhana adalah dengan mengklik kanan ikon menu “Start” - “Command Prompt”
    Di jendela yang muncul, Anda harus memasukkan yang berikut ini:

    di mana nilai numerik adalah jumlah memori yang diinginkan dan tekan tombol “Enter”. Setelah ini, Anda perlu me-restart komputer Anda. Setelah ini, Anda dapat mencoba mengulangi operasi yang gagal. Jika kesalahan terus berlanjut, kami sarankan untuk menghubungi spesialis.
    Pemrogram kami akan dengan senang hati memberi saran dan membantu Anda.

    Situasi yang sama dapat terjadi selama pembuatan laporan besar, eksekusi, eksekusi, pemuatan basis informasi besar, dll. Perhatikan bahwa ini terjadi ketika melakukan beberapa operasi berskala besar yang memerlukan sejumlah sumber daya komputer. Apalagi dalam mode normal, program 1C bekerja relatif normal.

    Tipsnya seperti membersihkan disk tempat program diinstal, menjalankannya di program, menggunakannya dengan memilih Mengompresi tabel infobase , kemungkinan besar tidak akan memberikan hasil yang diinginkan, meskipun patut untuk dicoba.

    Agar program 1C berfungsi, persyaratan tertentu dikenakan pada parameter komputer, dan jika karakteristiknya tidak sesuai dengan program yang diinstal, maka masalah mungkin timbul dalam bentuk perlambatan dan munculnya kesalahan jenis ini.

    Setelah menambahkan lebih banyak RAM ke komputer kita, kesalahan muncul lagi. Dalam hal ini, alasannya terletak pada terbatasnya alokasi memori alamat oleh sistem operasi untuk perangkat lunak:

    • dalam sistem operasi 32-bit, secara default 2 GB dialokasikan untuk berbagai program dan jumlah yang sama untuk sistem operasi,
    • di sistem operasi 64-bit - kapasitas memori sudah 4 GB.

    Saat bekerja dengan 1C dan melakukan operasi, Anda dapat menggunakannya Manajer Tugas memantau proses memuat prosesor dan jumlah memori bebas. Dalam kasus kami, selama pembaruan, angka ini mendekati nol dan pada saat itu terjadi kesalahan "Memori tidak mencukupi". Meluncurkan Manajer Tugas mungkin dengan menekan tombol Ctrl+Alt+Del dan membuka tab Pertunjukan, pantau indikator-indikator ini.

    Oleh karena itu, kita perlu meningkatkan ukuran memori alamat yang dialokasikan untuk aplikasi (termasuk 1C). Hal ini dapat dilakukan dengan dua cara: beralih dari sistem 32-bit ke sistem 64-bit atau menambah jumlah default alokasi memori alamat. Opsi pertama lebih tepat, tetapi karena alasan tertentu hal ini mungkin tidak dapat dilakukan, jadi mari pertimbangkan opsi kedua untuk menyelesaikan masalah.

    Kesalahan "Memori Kehabisan" di 1C 8.3 dan 8.2 tidak jarang terjadi. Itu juga dapat ditemukan di konfigurator (misalnya, saat membandingkan konfigurasi), serta dalam mode 1C:Enterprise saat melakukan pemrosesan padat karya: misalnya, saat menulis file base64 yang besar.

    Kesalahan ini dapat terjadi tidak hanya pada program 1C, tetapi juga pada program lain di sistem operasi Windows.

    Soalnya di sistem operasi 32-bit, secara default ada 2 Gigabytes untuk berbagai program dan jumlah yang sama untuk sistem operasi. Di OS 64-bit, jumlah memori yang dialokasikan untuk aplikasi sudah 4 Gigabytes.

    Mengikuti hal di atas, Anda perlu menambah ukuran memori alamat yang dialokasikan untuk aplikasi, yaitu program 1C. Hal ini dapat dilakukan dengan dua cara: beralih dari sistem 32-bit ke sistem 64-bit, atau menambah jumlah memori alamat yang dialokasikan pada awalnya.

    Tentu saja, cara pertama lebih baik dan lebih disukai, tetapi jika saat ini, atau sama sekali, Anda tidak dapat menggunakannya, Anda dapat menggunakan cara kedua.
    Mulai hari, buka baris perintah sistem operasi. Untuk melakukan ini, buka menu Start dan ketik “cmd” di bilah pencarian.

    Pencarian program akan ditampilkan di depan Anda. Pilih yang bernama "cmd".

    Anda juga dapat membuka baris perintah menggunakan kombinasi tombol pintas Windows + R.

    Di jendela yang terbuka, ketik perintah berikut dan tekan juga "Enter":

    bcdedit /set peningkatan penggunava 3200

    Dalam hal ini, Anda akan menambah jumlah memori alamat menjadi 3200 Megabyte.

    Setelah Anda berhasil, sangat disarankan untuk mengembalikan jumlah alamat memori sebelumnya. Tindakan ini bersifat sementara, karena ketika mengalokasikan memori untuk aplikasi, sistem operasi memiliki lebih sedikit memori. Hal ini dapat membahayakan stabilitas Windows.

    Untuk mengembalikan memori alamat ke nilai defaultnya, Anda dapat menggunakan perintah berikut, yang juga dimasukkan pada baris perintah:

    bcdedit /deletevalue peningkatanuserva

    Harap dicatat bahwa dengan kesalahan umum "Kehabisan memori" di 1C, menghapus objek yang ditandai juga dapat membantu. Mungkin program telah mengumpulkan banyak data dan sulit bagi program untuk memproses data sebanyak itu. Jika metode ini tidak membantu, maka Anda harus meningkatkan bitness sistem operasi Windows.

    Terjadi kesalahan. Kami akan melihat salah satunya, yang didedikasikan untuk topik “Memori kosong tidak mencukupi di server 1C:Enterprise.”

    Metode untuk menghilangkan kesalahan “Memori kosong tidak cukup di server 1C:Enterprise.”

    Kapasitas memori proses kerja saat bekerja di server agen 1C tidak terbatas. Saat beban maksimumnya, pengguna melihat pesan yang menyenangkan dengan kebaruannya - “Memori kosong di server 1C:Enterprise tidak cukup.”


    Pertama, mari kita bicara tentang alasan pesan semacam ini - mengapa memori tidak cukup. Mungkin ada beberapa di antaranya:

    Tenaga besi tidak mencukupi

    Jika hingga lima orang bekerja dalam sistem, maka satu komputer delapan gigabyte dengan dua sekrup (yang satu - SERVER, yang kedua - SQL) dan chip tambahan yang terpasang sudah cukup. Tapi masalahnya lain - sekitar tiga puluh pengguna, ribuan dokumen utama. Di sini, SQL perlu dipindahkan ke server terpisah, dan server terminal saja tidak dapat mengatasinya.

    Kurangnya memori untuk informasi yang tidak perlu

    Konfigurasi tipikal mencoba menggambarkan secara harfiah semua proses yang dapat dibayangkan oleh pengembang, mencoba membuat alat akuntansi universal yang disebut 1C:Enterprise. Oleh karena itu, pengguna tertentu menerima bagasi tambahan dalam bentuk kumpulan objek metadata, tabel SQL tambahan, dan detail yang tidak digunakan. Registrasi terus-menerus dan pengindeksan ulang semua hal yang tidak diperlukan dalam register program membutuhkan waktu lama dan banyak ruang.

    Kesalahan pengkodean

    Kelebihan beban server juga terjadi ketika pemrogram (terkadang) tidak memahami proses tertentu dan mereka memperkenalkan “penopang” mereka sendiri yang menambah waktu yang dibutuhkan untuk menyelesaikan tugas yang diberikan (dan juga jumlah proses kerja).

    Kesalahan program

    Antara lain, dan ini sering kali menjadi alasan utama - program 1C memiliki banyak sekali kesalahan internal. Beberapa di antaranya telah diperbaiki pada rilis berikutnya. Sejumlah besar forum didedikasikan untuk kesalahan ini, di mana admin, mendiskusikan trik terbaru, dengan bercanda mengatakan bahwa mungkin hanya orang Tajik yang bekerja di jejaring sosial yang sama (Dzhamshut dan Ravshan).

    Jadi apa yang harus dilakukan dengan server 1C?

    Karena penyebab suatu masalah bisa berbeda, ada juga cara berbeda untuk menyelesaikan situasi tersebut:

    Memulai ulang layanan server

    Solusi tercepat dan termudah adalah dengan me-restart layanan server. Dari baris perintah Microsoft Windows (cmd): untuk berhenti, jalankan perintah - net stop "1C:Enterprise 8.3 (atau versi Anda) Server Agent", dan untuk memulai - net start "1C:Enterprise 8.3 (sesuai versi Anda) Agen Server". Solusi ini tidak menyelesaikan masalah sepenuhnya - paling sering kesalahan terulang. Frekuensi pengulangannya tergantung pada jumlah klien dan jumlah proses kerja.

    PENTING. Untuk dapat memulai kembali, Anda harus memiliki hak yang sesuai.

    Mulai ulang otomatis dan pengaturan cluster

    Terkadang bahkan satu alur kerja yang sedang berjalan dapat menghabiskan hampir seluruh RAM. Masalah ini diselesaikan dengan meningkatkan jumlah mereka dalam pengaturan cluster. Mereka menambahkan sekitar satu proses untuk setiap lima belas hingga tiga puluh pengguna.

    Interval mulai ulang. Sesaat sebelum proses sebelumnya selesai, proses rphost.exe baru dimulai. - Koneksi dari yang lama ditransfer ke sana. Ukuran memori yang diperbolehkan - jika nilai ini terlampaui, penghitung waktu mundur kedua akan dimulai.

    Interval melebihi batas volume - ketika pengatur waktu melebihi nilai ini, proses baru akan diluncurkan. Dan koneksi dari yang lama akan terhubung dengannya. Dan yang lama, pada gilirannya, ditandai tidak aktif. Mati hentikan proses setelahnya - setelah nilai parameter ini terlewati setelah menandai alur kerja sebagai tidak aktif, proses tersebut akan dihentikan oleh sistem operasi. Jika Anda menyetel parameter ini ke “0”, maka semua proses yang tidak aktif tidak akan dihentikan secara otomatis.

    PENTING. Pengaturan ini ditandai dengan fakta bahwa hanya klien yang meluncurkan laporan yang salah yang terputus dari database. Dan sisanya akan dengan lancar dipindahkan ke koneksi baru (tanpa gangguan dari basisnya).

    Jumlah proses pekerja

    Jika rphost.exe kelebihan beban dengan pekerjaan latar belakang dan proses baru tidak dibuat, Anda perlu memeriksa pengaturannya:

    Maks. Ukuran memori proses pekerja adalah jumlah total memori untuk semua proses secara bersamaan. Diukur dalam byte. Jika Anda menetapkan nilai yang salah (tidak memadai untuk operasi normal), semua orang akan menerima kesalahan “Memori kosong tidak cukup di server 1c.”

    Konsumsi memori aman per panggilan - mengontrol konsumsi memori selama panggilan oleh server (dalam byte). Jika panggilan menggunakan lebih dari nomor yang ditentukan, panggilan tersebut akan diselesaikan dalam cluster. Ini tidak akan dimulai ulang. Dan hilangnya satu sesi tidak akan mempengaruhi klien lainnya.

    Jumlah memori untuk proses yang hingga server dianggap produktif oleh sistem - ketika nilai ini tercapai, server cluster berhenti menerima koneksi. Jumlah basis informasi per proses - mengisolasi keamanan informasi berdasarkan proses. Setelah mengisolasi basis informasi (dengan memasukkan nilai “1”), masalah biasanya terpecahkan.

    Jumlah koneksi per proses - nilai defaultnya adalah “128”. Jika database saat ini memiliki beban yang sangat berat dari pekerjaan latar belakang, Anda dapat mengurangi jumlah ini, misalnya, menjadi “25”. Dengan pengaturan ini, pengaturan cluster akan sedikit berubah:

    Tingkat toleransi kesalahan - menunjukkan jumlah server yang, jika gagal, tidak akan menyebabkan penghentian darurat klien. Dalam hal ini, layanan pencadangan akan diluncurkan secara otomatis dalam jumlah yang diperlukan.

    Mode berbagi beban - memiliki dua opsi yang memungkinkan. Jika Anda menyetel “Prioritas pada kinerja”, maka memori server akan dikonsumsi lebih banyak untuk meningkatkan kinerja. Ketika Anda memilih "Prioritas memori", cluster 1C akan menghemat memori.

    Alat basis data

    Untuk beroperasi dengan database, Anda harus menggunakan MS SQL DBMS.

    Memeriksa konfigurasi

    Mungkin penyebab errornya terletak pada informasi yang salah yang terdapat pada Konfigurasi. Untuk memeriksanya, Anda perlu menjalankan perintah “Periksa konfigurasi”. (Jangan bingung dengan pengujian!). Sebelum mengeksekusi, Anda perlu memeriksa pengaturan kotak centang (kotak centang) - "integritas logis". Jika ada kesalahan yang terdeteksi, hal ini akan tercermin dalam pesan. Dan kesalahan-kesalahan tersebut akan dihilangkan.

    Kami melihat alasan kurangnya memori bebas di server 1C dan kemungkinan cara untuk menghilangkannya. Salah satu cara pasti akan menyelesaikan masalah.