Server 1C menulis bahwa tidak ada cukup memori. Apakah Anda memiliki pertanyaan atau memerlukan bantuan konsultan?

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.

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 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.

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.