1C სერვერი წერს, რომ არ არის საკმარისი მეხსიერება. გაქვთ შეკითხვა ან გჭირდებათ კონსულტანტის დახმარება?

ხდება შეცდომები. ჩვენ გადავხედავთ ერთ-ერთ მათგანს, რომელიც ეძღვნება თემას "არასაკმარისი თავისუფალი მეხსიერება 1C: Enterprise სერვერზე".

შეცდომის აღმოფხვრის მეთოდი "1C: Enterprise სერვერზე არ არის საკმარისი თავისუფალი მეხსიერება".

1C აგენტ სერვერზე მუშაობისას სამუშაო პროცესების მეხსიერების მოცულობა არ არის უსასრულო. როდესაც ის მაქსიმალურ დატვირთვაზეა, მომხმარებელი ხედავს შეტყობინებას, რომელიც სასიამოვნოა მისი სიახლით - "1C:Enterprise სერვერზე არ არის საკმარისი თავისუფალი მეხსიერება".


პირველ რიგში, მოდით ვისაუბროთ ამ ტიპის შეტყობინებების მიზეზებზე - რატომ არ არის საკმარისი მეხსიერება. შეიძლება რამდენიმე მათგანი იყოს:

არასაკმარისი რკინის სიმძლავრე

თუ სისტემაში ხუთამდე ადამიანი მუშაობს, მაშინ საკმარისი იქნება ერთი რვა გიგაბაიტიანი კომპიუტერი ორი ხრახნით (ერთზე - SERVER, მეორეზე - SQL) და დამატებით დაინსტალირებული ჩიპებით. მაგრამ ეს სხვა საკითხია - ოცდაათი მომხმარებელი, ათასობით პირველადი დოკუმენტი. აქ SQL უნდა გადავიდეს ცალკე სერვერზე და მხოლოდ ტერმინალის სერვერი ვერ უმკლავდება.

მეხსიერების ნაკლებობა არასაჭირო ინფორმაციისთვის

ტიპიური კონფიგურაციები ცდილობენ აღწერონ სიტყვასიტყვით ყველა ის პროცესი, რაც დეველოპერს შეეძლო წარმოედგინა, ცდილობს შექმნას უნივერსალური სააღრიცხვო ინსტრუმენტი სახელწოდებით 1C: Enterprise. აქედან გამომდინარე, კონკრეტული მომხმარებელი იღებს დამატებით ბარგს მეტამონაცემების ობიექტების უფსკრულის, დამატებითი SQL ცხრილებისა და გამოუყენებელი დეტალების სახით. პროგრამის რეგისტრებში ყველა ამ არასაჭირო ნივთის მუდმივ რეგისტრაციას და ხელახლა ინდექსირებას დიდი დრო და დიდი სივრცე სჭირდება.

კოდირების შეცდომები

სერვერის გადატვირთვა ასევე ხდება მაშინ, როდესაც პროგრამისტებს (ზოგჯერ) არ ესმით გარკვეული პროცესები და ისინი წარმოადგენენ საკუთარ „ყავარჯნებს“, რომლებიც ზრდის დავალებების შესრულებისას (და სამუშაო პროცესების რაოდენობასაც).

პროგრამის შეცდომები

სხვა საკითხებთან ერთად, და ეს ხშირად თითქმის მთავარი მიზეზია - 1C პროგრამას აქვს წარმოუდგენელი რაოდენობის შიდა შეცდომები. ზოგიერთი მათგანი დაფიქსირდა შემდგომ გამოშვებებში. ამ შეცდომებს ეძღვნება ფორუმების დიდი რაოდენობა, სადაც ადმინები, რომლებიც განიხილავენ უახლეს ხრიკებს, ხუმრობით ამბობენ, რომ ალბათ მხოლოდ ტაჯიკები (ძამშუთი და რავშანი) მუშაობენ იმავე სოციალურ ქსელში.

რა უნდა გავაკეთოთ 1C სერვერთან?

ვინაიდან პრობლემის მიზეზები შეიძლება განსხვავებული იყოს, სიტუაციის მოგვარების სხვადასხვა გზაც არსებობს:

სერვერის სერვისის გადატვირთვა

ყველაზე სწრაფი და მარტივი გამოსავალი არის სერვერის სერვისის გადატვირთვა. Microsoft Windows-ის ბრძანების ხაზიდან (cmd): გასაჩერებლად, გაუშვით ბრძანება - net stop "1C:Enterprise 8.3 (ან თქვენი ვერსია) Server Agent" და დასაწყებად - net start "1C:Enterprise 8.3 (თქვენი ვერსიის მიხედვით) სერვერის აგენტი". ეს გამოსავალი პრობლემას ბოლომდე არ წყვეტს - ყველაზე ხშირად შეცდომა მეორდება. მისი გამეორებების სიხშირე დამოკიდებულია კლიენტების რაოდენობაზე და სამუშაო პროცესების რაოდენობაზე.

მნიშვნელოვანია. იმისათვის, რომ შეძლოთ გადატვირთვა, თქვენ უნდა გქონდეთ შესაბამისი უფლებები.

ავტომატური გადატვირთვა და კასეტური პარამეტრები

ზოგჯერ ერთ გაშვებულ სამუშაო პროცესსაც კი შეუძლია დაიკავოს თითქმის მთელი ოპერატიული მეხსიერება. ეს პრობლემა მოგვარებულია კლასტერის პარამეტრებში მათი რაოდენობის გაზრდით. ისინი დაამატებენ დაახლოებით ერთ პროცესს ყოველ თხუთმეტიდან ოცდაათ მომხმარებელზე.

გადატვირთვის ინტერვალი. წინა დასრულებამდე ცოტა ხნით ადრე იწყება ახალი rphost.exe პროცესი. - ძველიდან კავშირები გადადის მასზე. მეხსიერების დასაშვები ზომა - თუ ამ მნიშვნელობას გადააჭარბებს, მეორე ათვლის ტაიმერი დაიწყება.

ლიმიტის მოცულობის გადაჭარბების ინტერვალი - როდესაც ტაიმერი გადააჭარბებს ამ მნიშვნელობას, დაიწყება ახალი პროცესი. და ძველიდან კავშირები მასზე იქნება მიმაგრებული. ხოლო ძველი, თავის მხრივ, აღინიშნება არააქტიურად. გამორთულია პროცესების შეჩერება შემდეგ - მას შემდეგ, რაც ამ პარამეტრის მნიშვნელობა გაივლის სამუშაო ნაკადის არააქტიურად მონიშვნის შემდეგ, ის შეწყდება ოპერაციული სისტემის მიერ. თუ თქვენ მიუთითებთ ამ პარამეტრს ტოლი "0", მაშინ ყველა არააქტიური პროცესი ავტომატურად არ შეწყდება.

მნიშვნელოვანია. ეს პარამეტრი ხასიათდება იმით, რომ ის წყვეტს მონაცემთა ბაზიდან მხოლოდ კლიენტს, რომელმაც არასწორი მოხსენება გამოუშვა. ხოლო დანარჩენი შეუფერხებლად გადავა ახალ კავშირებზე (მათი ბაზისგან შეფერხების გარეშე).

მუშათა პროცესების რაოდენობა

თუ rphost.exe გადატვირთულია ფონური სამუშაოებით და ახალი პროცესები არ არის შექმნილი, თქვენ უნდა შეამოწმოთ პარამეტრები:

მაქს. სამუშაო პროცესების მეხსიერების ზომა არის მეხსიერების მთლიანი რაოდენობა ყველა პროცესისთვის ერთად. იზომება ბაიტებში. თუ თქვენ დააყენეთ არასწორი მნიშვნელობა (არაადეკვატური ნორმალური მუშაობისთვის), ყველა მიიღებს შეცდომას "არ არის საკმარისი თავისუფალი მეხსიერება 1c სერვერზე".

მეხსიერების უსაფრთხო მოხმარება თითო ზარზე - აკონტროლებს მეხსიერების მოხმარებას სერვერის მიერ ზარის დროს (ბაიტებში). თუ ზარი იყენებს მითითებულ ნომერზე მეტს, ის დასრულდება კლასტერში. არ განახლდება. და სესიის დაკარგვა არ იმოქმედებს სხვა კლიენტებზე.

მეხსიერების რაოდენობა იმ პროცესებისთვის, რომლებზეც სერვერი ითვლება პროდუქტიულად სისტემის მიერ - როდესაც ეს მნიშვნელობა მიიღწევა, კლასტერული სერვერი წყვეტს კავშირების მიღებას. საინფორმაციო ბაზების რაოდენობა პროცესზე - იზოლირებს ინფორმაციის უსაფრთხოებას პროცესის მიხედვით. საინფორმაციო ბაზების იზოლირების შემდეგ (მნიშვნელობის „1“ შეყვანით), პრობლემები ჩვეულებრივ წყდება.

კავშირების რაოდენობა თითოეულ პროცესზე - ნაგულისხმევი მნიშვნელობა არის „128“. თუ ამჟამინდელ მონაცემთა ბაზას აქვს ძალიან დიდი დატვირთვა ფონური სამუშაოებიდან, მაშინ შეგიძლიათ შეამციროთ ეს რიცხვი, მაგალითად, "25"-მდე. ამ პარამეტრებით, კლასტერის პარამეტრები ოდნავ შეიცვლება:

შეცდომის ტოლერანტობის დონე - აჩვენებს სერვერების რაოდენობას, რომლებიც წარუმატებლობის შემთხვევაში არ გამოიწვევს კლიენტების გადაუდებელ გამორთვას. ამ შემთხვევაში, სარეზერვო სერვისები ავტომატურად ამოქმედდება საჭირო რაოდენობით.

ჩატვირთვის გაზიარების რეჟიმი - აქვს ორი შესაძლო ვარიანტი. თუ დააყენებთ „Priority on performance“, მაშინ სერვერის მეხსიერება უფრო მეტს მოიხმარს შესრულების გაზრდის მიზნით. როდესაც აირჩევთ „მეხსიერების პრიორიტეტს“, 1C კლასტერი დაზოგავს მეხსიერებას.

მონაცემთა ბაზის ინსტრუმენტი

მონაცემთა ბაზასთან მუშაობისთვის, თქვენ უნდა გამოიყენოთ MS SQL DBMS.

კონფიგურაციის შემოწმება

შესაძლოა შეცდომის მიზეზი მდგომარეობს არასწორ ინფორმაციაში, რომელიც შეიცავს კონფიგურაციას. მის შესამოწმებლად, თქვენ უნდა გაუშვათ ბრძანება "შეამოწმეთ კონფიგურაცია". (არ უნდა აგვერიოს ტესტირებაში!). შესრულებამდე, თქვენ უნდა შეამოწმოთ ჩამრთველი ველის პარამეტრი - "ლოგიკური მთლიანობა". თუ რაიმე უზუსტობა გამოვლინდა, ეს აისახება შეტყობინებაში. და შეცდომები მოიხსნება.

ჩვენ გადავხედეთ 1C სერვერზე თავისუფალი მეხსიერების ნაკლებობის მიზეზებს და ამის აღმოფხვრის შესაძლო გზებს. ერთ-ერთი მეთოდი აუცილებლად მოაგვარებს პრობლემას.

იგივე სიტუაცია შეიძლება მოხდეს დიდი მოხსენების წარმოქმნის დროს, შესრულებისას, შესრულებისას, დიდი საინფორმაციო ბაზის ჩატვირთვისას და ა.შ. გაითვალისწინეთ, რომ ეს ხდება ზოგიერთი ფართომასშტაბიანი ოპერაციების შესრულებისას, რომლებიც საჭიროებენ კომპიუტერული რესურსების გარკვეულ რაოდენობას. უფრო მეტიც, ნორმალურ რეჟიმში 1C პროგრამა მუშაობს შედარებით ნორმალურად.

რჩევები, როგორიცაა დისკის გაწმენდა, რომელზეც დაინსტალირებულია პროგრამა, მისი გაშვება პროგრამაში, მისი გამოყენება არჩევით საინფორმაციო ბაზის ცხრილების შეკუმშვა , სავარაუდოდ არ მოგცემთ სასურველ შედეგს, თუმცა მათი ცდაც ღირს.

იმისათვის, რომ 1C პროგრამა იმუშაოს, გარკვეული მოთხოვნები დაწესებულია კომპიუტერის პარამეტრებზე და თუ მათი მახასიათებლები არ შეესაბამება დაინსტალირებულ პროგრამას, მაშინ პრობლემები შეიძლება წარმოიშვას შენელებისა და ამ ტიპის შეცდომის სახით.

ჩვენს კომპიუტერში მეტი ოპერატიული მეხსიერების დამატების შემდეგ, შეცდომა კვლავ გამოჩნდება. ამ შემთხვევაში, მიზეზი მდგომარეობს პროგრამული უზრუნველყოფის ოპერაციული სისტემის მიერ მისამართის მეხსიერების შეზღუდულ გამოყოფაში:

  • 32-ბიტიან ოპერაციულ სისტემებში ნაგულისხმევად 2 GB გამოყოფილია სხვადასხვა პროგრამებზე და იგივე რაოდენობა ოპერაციული სისტემისთვის,
  • 64-ბიტიან ოპერაციულ სისტემებში - მეხსიერების მოცულობა უკვე 4 GBა.

1C-თან მუშაობისას და ოპერაციის შესრულებისას შეგიძლიათ გამოიყენოთ სამუშაო მენეჯერიაკონტროლეთ პროცესორის დატვირთვის პროცესი და მეხსიერების თავისუფალი რაოდენობა. ჩვენს შემთხვევაში, განახლების დროს ეს მაჩვენებელი მიუახლოვდა ნულს და იმ მომენტში მოხდა შეცდომა "არასაკმარისი მეხსიერება". გაშვება სამუშაო მენეჯერიშესაძლებელია ღილაკების დაჭერით Ctrl+Alt+Delდა გახსენით ჩანართი შესრულება, ამ მაჩვენებლების მონიტორინგი.

ამრიგად, ჩვენ უნდა გავზარდოთ აპლიკაციებისთვის გამოყოფილი მისამართის მეხსიერების ზომა (მათ შორის 1C). ეს შეიძლება გაკეთდეს ორი გზით: გადართვა 32-ბიტიანი სისტემიდან 64-ბიტიან სისტემაზე ან გაზარდეთ გამოყოფილი მისამართის მეხსიერების ნაგულისხმევი რაოდენობა. პირველი ვარიანტი უფრო სწორია, მაგრამ გარკვეული მიზეზების გამო ეს შეიძლება შეუძლებელი იყოს, ამიტომ განვიხილოთ მეორე ვარიანტი პრობლემის გადასაჭრელად.

ეს შეცდომა საკმაოდ ტიპიურია 1C 8.3-ისთვის;

მიზეზები

სინამდვილეში, არსებობს რამდენიმე მიზეზი, რის გამოც შეიძლება გამოჩნდეს შეცდომა "1C მეხსიერების გარეშე". ძალიან ხშირად ეს შეცდომა ჩნდება, როდესაც 1C Enterprise კონფიგურაცია არასწორად განახლებულია. არანაკლებ იშვიათად, დიდი მონაცემთა ბაზის ჩატვირთვა ან ძალიან დიდი ფაილის დამუშავების მცდელობა იწვევს შეცდომის წარმოქმნას.

ვინაიდან ამ მოქმედებების დროს შეცდომის მიზეზი მდგომარეობს მისამართების მეხსიერების ნაკლებობაში, მისი მოგვარება შეუძლებელი იქნება იმ აღჭურვილობის განახლებით, რომელზედაც დაინსტალირებულია 1C პროგრამა.

ფაქტია, რომ ოპერაციული სისტემა აძლევს პროგრამულ უზრუნველყოფას წვდომას მისამართებად მეხსიერების შეზღუდულ რაოდენობაზე, როგორც წესი, 2 გიგაბაიტი ოცდათორმეტი ბიტიანი ოპერაციული სისტემებისთვის და 4 გიგაბაიტი სამოცი ოთხბიტიანი ოპერაციული სისტემებისთვის.

გაქვთ შეკითხვა ან გჭირდებათ კონსულტანტის დახმარება?

როგორ გავზარდოთ მისამართის მეხსიერების რაოდენობა?

არ არის რთული 1C პროგრამისთვის ხელმისაწვდომი მისამართის მეხსიერების გაფართოება. ამისათვის თქვენ უნდა დარეკოთ ბრძანების ხაზი. ეს შეიძლება გაკეთდეს რამდენიმე გზით, რომელთაგან უმარტივესი არის მენიუს "დაწყების" ხატულაზე მარჯვენა ღილაკით დაწკაპუნება - "Command Prompt"
ფანჯარაში, რომელიც გამოჩნდება, უნდა შეიყვანოთ შემდეგი:

სადაც რიცხვითი მნიშვნელობა არის მეხსიერების სასურველი რაოდენობა და დააჭირეთ ღილაკს "Enter". ამის შემდეგ, თქვენ უნდა გადატვირთოთ კომპიუტერი. ამის შემდეგ, შეგიძლიათ სცადოთ გაიმეოროთ ოპერაცია, რომელიც ვერ მოხერხდა. თუ შეცდომა შენარჩუნებულია, გირჩევთ დაუკავშირდეთ სპეციალისტს.
ჩვენი პროგრამისტები სიამოვნებით მოგცემენ რჩევას და დაგეხმარებიან.

1C 8.3-ში და 8.2-ში შეცდომა „მეხსიერების ამოწურვა“ არც ისე იშვიათია. ის ასევე შეიძლება მოიძებნოს კონფიგურატორში (მაგალითად, კონფიგურაციების შედარებისას), ასევე 1C: Enterprise რეჟიმში შრომატევადი დამუშავების შესრულებისას: მაგალითად, დიდი base64 ფაილის დაწერისას.

ეს შეცდომა შეიძლება მოხდეს არა მხოლოდ 1C პროგრამაში, არამედ Windows ოპერაციული სისტემის სხვა პროგრამებშიც.

საქმე ისაა, რომ 32-ბიტიან ოპერაციულ სისტემებში ნაგულისხმევად არის 2 გიგაბაიტი სხვადასხვა პროგრამისთვის და ამდენივე ოპერაციული სისტემისთვის. 64-ბიტიან OS-ში აპლიკაციებისთვის გამოყოფილი მეხსიერების რაოდენობა უკვე 4 გიგაბაიტია.

ზემოაღნიშნულიდან გამომდინარე, თქვენ უნდა გაზარდოთ აპლიკაციებისთვის გამოყოფილი მისამართის მეხსიერების ზომა, რაც არის 1C პროგრამა. ეს შეიძლება გაკეთდეს ორი გზით: გადართვა 32-ბიტიანი სისტემიდან 64-ბიტიანზე, ან გაზარდეთ მისამართის მეხსიერების თავდაპირველად გამოყოფილი რაოდენობა.

რა თქმა უნდა, პირველი მეთოდი უკეთესი და სასურველია, მაგრამ თუ ამ მომენტში, ან საერთოდ, ვერ გამოიყენებთ, მაშინ შეგიძლიათ გამოიყენოთ მეორე.
დაწყების დღე, გადადით ოპერაციული სისტემის ბრძანების ხაზზე. ამისათვის გადადით Start მენიუში და ჩაწერეთ "cmd" საძიებო ზოლში.

თქვენს თვალწინ გამოჩნდება პროგრამების ძებნა. აირჩიეთ ის, სახელწოდებით "cmd".

თქვენ ასევე შეგიძლიათ გახსნათ ბრძანების ხაზი Windows + R ცხელი კლავიშების კომბინაციის გამოყენებით.

ფანჯარაში, რომელიც იხსნება, ჩაწერეთ შემდეგი ბრძანება და ასევე დააჭირეთ "Enter"-ს:

bcdedit / set riseuserva 3200

ამ შემთხვევაში, თქვენ გაზრდით მისამართების მეხსიერების რაოდენობას 3200 მეგაბაიტამდე.

მას შემდეგ რაც წარმატებას მიაღწევთ, მკაცრად რეკომენდირებულია ადრესების მეხსიერების წინა ოდენობის აღდგენა. ეს ღონისძიება დროებითია, ვინაიდან აპლიკაციებზე მეხსიერების გამოყოფისას ოპერაციულ სისტემას ნაკლები მეხსიერება აქვს. ამან შეიძლება ზიანი მიაყენოს Windows-ის სტაბილურობას.

მისამართის მეხსიერების ნაგულისხმევ მნიშვნელობამდე აღსადგენად, შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება, რომელიც ასევე შეყვანილია ბრძანების სტრიქონში:

bcdedit /deletevalue გაზრდაuserva

გთხოვთ გაითვალისწინოთ, რომ 1C-ში გავრცელებული შეცდომით „მეხსიერების ამოწურვა“, მონიშნული ობიექტების წაშლა ასევე დაგეხმარებათ. შესაძლოა, პროგრამამ ბევრი მათგანი დააგროვა და პროგრამას უჭირს მონაცემთა ასეთი მოცულობის დამუშავება. თუ ეს მეთოდი არ დაგვეხმარება, მაშინ უნდა გაზარდოთ Windows ოპერაციული სისტემის სიძლიერე.