এক্সেল সিপিইউ ব্যবহার সীমাবদ্ধ করুন


31

চলার সময় সিপিইউ ব্যবহারের এক্সেলটিতে কতটা অ্যাক্সেস রয়েছে তা সীমাবদ্ধ করার কোনও উপায় আছে? আমার কাছে একটি ভিবিএ স্ক্রিপ্ট রয়েছে যা একগুচ্ছ দৈত্য অ্যারে সূত্র গণনা করে। সম্পূর্ণ গণনাটি আমার সিপিইউর 100% ব্যবহার করে হয়ত 20 মিনিট সময় নেয় তবে আমি আমার মেশিনটি সময়টি ব্যবহার করতে পারি না এবং বরং এটি 50% সিপিইউ ব্যবহারের মতো পটভূমিতে চালিত করতে চাই যাতে আমি অন্যান্য জিনিসগুলি চালিয়ে যেতে পারি। কোন পরামর্শ?

আমার ওএসটি উইন্ডোজ 7 এন্টারপ্রাইজ 64-বিট এবং এক্সেল সংস্করণ 2007-32 বিট


1
উইন্ডোজ? কোন সংস্করণ?
ডেভিডপস্টিল

উইন্ডোজ 7. আমি পোস্ট থেকে এটি যোগ করব
learningAsIGo

8
মাল্টিকোর সিপিইউ পাবেন? আপনার যদি ইতিমধ্যে একটি (কারা না?) থাকে এবং এক্সেল সমস্ত কোর ব্যবহার করে (যা আমি জানিনা এক্সেল করতে পারে), তবে টাস্ক ম্যানেজারের সাথে এটির সখ্যতা সেট করুন।
ব্যবহারকারী 253751

2
এটি প্রশ্নের উত্তর দেয় না, তবে হাজার হাজার ঘর গণনা করা এবং আপডেট করা শুরু করার আগে আপনি উইন্ডো আপডেটগুলি বন্ধ করে রেখেছেন তা নিশ্চিত করুন। আপনার যদি কোনও চার্ট থাকে তবে সেগুলিও বন্ধ করুন। ভিবিএ ধীর, তবে এটি যখন খুব ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে পড়ে যায় it's
কক্সি

1
@ ক্যাট: না, উইন্ডোজ টাস্ক ম্যানেজারে একটি 100% সিপিইউ ব্যবহারের অর্থ সমস্ত লজিকাল প্রসেসর জুড়ে 100%। যদি কেবল একটি কোর পূরণ হয় তবে তা 25% (হাইপার থ্রেডিং সহ একটি সাধারণ দ্বৈত কোরের উপর) বা ~ 36% (টার্বো বুস্টিং) হবে।
মার্থিন কাহিয়া পাওলো 15'16

উত্তর:


54

যদি কোনও ভিবিএ ফাংশনটি বেশ কয়েকটি সূত্র থেকে ডেকে আনা হয় বা যদি আপনার স্ক্রিপ্টটি বিভিন্ন সূত্রের পুনঃনির্মাণের জন্য উত্পন্ন করে বা জোর করে, তবে অবশ্যই এটি এক্সেলের মাল্টি-থ্রেডেড গণনা বৈশিষ্ট্যটি ব্যবহার করা উচিত । স্বতঃস্ফূর্তভাবে, এটি প্রতিটি সূত্রের জন্য আপনার ভিবিএ ফাংশনের একাধিক উদাহরণ চালাবে বা আপনার ভিবিএ স্ক্রিপ্ট একক থ্রেডে চলাকালীন এক সাথে একাধিক কক্ষগুলি পুনরায় গণনা করবে।

এক্সেল বিকল্পগুলির ... অ্যাডভান্সড ট্যাব ... সূত্র বিভাগে সূত্রগুলি পুনরায় গণনা করতে আপনি এক্সেল দ্বারা ব্যবহৃত থ্রেডের সংখ্যা সীমাবদ্ধ করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন


ভিবিএ সাব ইস্যু নয়, এটি ভিবিএ কোড উত্পন্ন এক্সেল অ্যারে সূত্র।
learningAsIGo

@ এলারিংএজিগো ঠিক আছে, আমি আমার উত্তরটি সহজ করে দিয়েছি। থ্রেডের সংখ্যা নির্ধারণে 1 টি সহায়তা করে কিনা তা আমাদের জানতে দিন।
এমটোন

1
এটি কৌশলটি করেছে বলে মনে হচ্ছে। আমি এটিকে 3 টি কোরে সেট করেছি এবং এটি সিপিইউর 75% এ সর্বাধিকতর পরিমাণে ছেড়ে যায় আমাকে অন্যান্য কাজ করার জন্য প্রচুর জায়গা দেয়। ধন্যবাদ!
learningAsIGo

27

অগ্রাধিকারটি হ্রাস করার পরিবর্তে, টাস্ক ম্যানেজারের মধ্যে স্নেহ পরিবর্তন করার চেষ্টা করুন। আপনার যদি 1 টিরও বেশি সিপিইউ থাকে তবে আপনি সিপিইউস এক্সেলটি ব্যবহারের সংখ্যা সীমাবদ্ধ করতে পারবেন। এটি অন্যান্য সিপিইউগুলিকে অন্যান্য বিষয়ে কাজ করতে মুক্ত করবে।

প্রসেসস ট্যাবে এক্সেলটিতে ডান ক্লিক করুন এবং সেট অফিটিটিটি নির্বাচন করুন। আপনি যেখানে এক্সেল চালাতে চান সেখানকার সিপিইউ (গুলি) চয়ন করুন।


3
নোট করুন যে সম্পর্কের জন্য, উইন্ডোজ প্রতিটি কোরকে সিপিইউ হিসাবেও বিবেচনা করে। (সুতরাং আপনার যদি দ্বৈত বা কোয়াড কোর থাকে তবে এটি কাজ করবে))
jpmc26

1
আচ্ছা বিশেষত যদি কোর সম্পর্কে কথা বলা হয় তবে হাইপারথ্রেডিং থ্রেডগুলি কেন নয়? এগুলি পৃথক লজিক্যাল সিপিইউও। অর্থাৎ এইচটি সহ একটি কোয়াড-কোর সিপিইউতে 8 টি লজিক্যাল সিপিইউ থাকবে।
রুস্লান

আমি হ্যান্ডব্রেক চলাকালীন সর্বদা এটি করি এবং ট্রান্সকোডিং প্রক্রিয়াটি বিরতি বা থামিয়ে না দিয়ে কেবল এক ঘন্টার জন্য ইন্টারনেট ব্রাউজ করতে চাই। আমি মনে করি এটি উল্লেখযোগ্যভাবে হবে যে কিছু সময়ের পরে কোরগুলি প্রোগ্রামে ফিরে আসে এবং স্নেহ "রিসেট" হয়, কমপক্ষে হ্যান্ডব্রেক দিয়ে আমার সাথে এটি ঘটে।
MonkeyZeus

2
@ মনকিজেইস সাধারণত, কোনও প্রক্রিয়া প্রস্থান করার পরে স্নেহ-সাশ্রয় সংরক্ষিত হয় না। এটি কেবল বর্তমানে চলমান প্রক্রিয়াতে প্রযোজ্য। এটি হতে পারে যে হ্যান্ডব্র্যাক নিজেই নতুন প্রক্রিয়া তৈরি করছে বা আপনি নতুন শুরু করেছেন।
jpmc26

@ jpmc26 জেনে রাখা ভাল! আমি অবশ্যই একটি নতুন প্রক্রিয়া নিজেই শুরু করি নি তাই এটি অবশ্যই এটি নিজেই তৈরি করা উচিত।
MonkeyZeus

7

আপনি টাস্ক ম্যানেজারটি খোলার মাধ্যমে, "বিশদ" বা "প্রক্রিয়াগুলি" ট্যাবটিতে স্যুইচ করে (উইন্ডোজের আপনার সংস্করণ অনুসারে) এক্সেল.এক্সএক্স প্রক্রিয়াটিতে ডান ক্লিক করে এবং একটি নির্বাচন করে আপনি এক্সেল প্রক্রিয়াটির অগ্রাধিকারটি হ্রাস করার চেষ্টা করতে পারেন নিম্ন অগ্রাধিকার এটি অন্যান্য প্রক্রিয়াগুলিতে আরও সিপিইউ সময় দেয়।


1
কাজ করছে বলে মনে হচ্ছে না: আমি অগ্রাধিকারটি খুব কমতে সেট করেছি এবং এটি এখনও কম্পিউটারকে পিছিয়ে।
শেখার

1
হতে পারে আপনার ওয়েব ব্রাউজারটির অগ্রাধিকার বাড়ানোর চেষ্টা করুন বা আপনি একই সময়ে যা করার চেষ্টা করছেন তাও? পরিবর্তনের অগ্রাধিকারগুলি কতটা কার্যকর তা নিয়ে আমি এই আলোচনাটি পেয়েছি ।
স্লিথি টোভস

3
@ স্লিথি টোভস: এটিতে আসলেই কিছু আসে যায় না। অগ্রাধিকার নির্ধারণ করে যে কোনও প্রোগ্রাম সিপিইউ পায়, যদি একাধিক প্রার্থী থাকে। এক্সেলকে খুব কম সেট করা মানে অন্যান্য সমস্ত প্রোগ্রাম করা হয়ে গেলে এটি কেবলমাত্র সিপিইউ স্লাইস পায়। যাইহোক, যখন এক্সেল করে একটি CPU- র ছে পেতে, এটা বজায় যে ছে দেবে না। এটি কেবলমাত্র পরবর্তী সিপিইউ সময় স্লাইসের জন্য প্রতিযোগিতা হারাবে।
এমসাল্টারস 13:38

3

ভিবিএতে বা ঘোষণার মাধ্যমে স্লিপ এবং ওয়েট ফাংশনগুলি উপলব্ধ। যাইহোক, "থাম্বের অত্যধিক সরল নিয়ম" হ'ল কখনই ঘুম () ব্যবহার না করা। (গুগল '"কখনই ঘুম ব্যবহার করে না) (" "প্রোগ্রামিং')

অ্যাপ্লিকেশন.ওয়েটের জন্য ডক পেজ ( https://msdn.microsoft.com/en-us/library/office/ff822851.aspx )। নোট করুন যে ঘুম এবং অপেক্ষার কারণে আপনার নির্ধারিত সময়কালের জন্য এক্সেলটি প্রতিক্রিয়াহীন হয়ে উঠবে এবং এটি "ট্রেনের বিধ্বস্ত।"

যদি আপনার গণনাটি কোনও ধরণের লুপ জড়িত থাকে, তবে আপনার নির্দিষ্ট উদ্দেশ্যে এটি হ্যান্ডেল করার একটি উপায় (সিপিইউ উপলভ্যতার জন্য গণনার সময় জব্দ করা) আপনার নিজের একটি বিশেষ ওয়েট ফাংশন করা যা উদাহরণস্বরূপ, 1 সেকেন্ডের জন্য লুপস ডওভেন্টস () লুপ করে এবং তারপরে ফিরে আসে।

DoEvents মূলত আপনার কোড / দোভাষীকে ওএস ইত্যাদির জন্য সময় ছেড়ে দিতে বলে দেয় এটি অবশ্যই আপনার কোডটি আরও বেশি সময় নিতে পারে। এটি গণনা চলাকালীন আপনাকে কার্যপত্রকটি সম্পাদনা করার অনুমতিও দিতে পারে, তাই আপনার মাইলেজ বিভিন্ন রকম হতে পারে। পরীক্ষা করুন।

উদাহরণস্বরূপ, দেখুন https://stackoverflow.com/questions/469347/is-there-an-equivalent-to-thread-sleep-in-vba


2

একটি অচেনা কোয়েস্টিনকে কয়েক বছর আগে জিজ্ঞাসা করা হয়েছিল যার সমাধান রয়েছে: এমন কোনও সমাধান রয়েছে যা কোনও প্রক্রিয়াটির সিপিইউ ব্যবহার সীমিত করতে পারে?

প্রসেস টেমার উইন্ডোজ for. এর জন্য কাজ করে। http://www.donationcoder.com/Software/Mouser/proctamer/


0

আমার ল্যাপটপে 4 গিগাবাইট মেমরি ছিল তখন আমারও একই সমস্যা ছিল। আমি এটি 16 গিগাবাইটে আপগ্রেড হওয়ার সাথে সাথে সমস্যাটি থেমে গেল। আর একটি সম্ভাব্য সমাধান।


0

আপনার ম্যাক্রো শুরুর কাছাকাছি কোথাও নিম্নলিখিত 2 লাইন যুক্ত করুন:

'Turn off screen updating

 Application.ScreenUpdating = False

এবং শেষের কাছাকাছি এই 2 লাইন:

'Turn screen updating back on

 Application.ScreenUpdating = True

এরপরে আপনি অন্য কিছু করার সময় এর কাজ কম হবে।


-2

যদি আপনি একটি OS৪ বিট ওএসে একটি 32bi অফিস ব্যবহার করে থাকেন তবে আপনার এই অ্যাপ্লিকেশনটি ব্যবহার করা উচিত: http://www.ntcore.com/4gb_patch.php

এই অ্যাপটি মো ব্যবহার করতে এক্সেল বা অন্য কোনও অফিস 32 বিট সক্ষম করে


প্রশ্নটি সিপিইউ সীমাবদ্ধ করার বিষয়ে, আপনার উত্তরটি অ্যাপগুলিতে অ্যাডাব্লুইই সক্রিয়করণ সম্পর্কিত যা সম্ভবত এডাব্লুইউর সুবিধাও নেবে না।
মার্থিন কাহিয়া পাওলো 15'16

-5

ওপেনঅফিস বা লিব্রেঅফিস ব্যবহার করুন: এর স্ক্রিপ্টিং শক্তি এমএসের চেয়ে অনেক বেশি কার্যকর এবং আপনার সংখ্যায় আক্ষরিক অর্থে একটি "থ্রোটল" থাকতে পারে।

সম্পাদনা: ডাউনটাতে কেন? কটাক্ষপাত করা ম্যানুয়াল এবং নিজের জন্য দেখুন। আপনি আপনার গণনাগুলিকে জাভাতে রূপান্তর করতে পারেন এবং উদাহরণস্বরূপ, জেভিএম-এর সমস্ত থ্রোটলিং শক্তি দিয়ে ঠিকঠাক হয়ে উঠতে পারেন।


3
আমি ডাউনওয়েট করি নি, তবে আমি ধরেই নিচ্ছি কারণ আপনি ওপি-তে জিজ্ঞাসা করা খুব সরাসরি প্রশ্নের সমাধানের পরিবর্তে একটি কাজের প্রস্তাব করেছিলেন: "চলমান অবস্থায় সিপিইউ ব্যবহারের এক্সেল কতটা সীমাবদ্ধ করার কোনও উপায় আছে? "
Monkpit

ওপেনঅফিসের সাথে আমার মনকপিট আমার গল্পটি একই ধরণের সমস্যা থেকে শুরু হয়েছে, আমাদের কাছে থাকা সমস্ত ডক্সের জন্য পোর্টেশন মোটামুটি এক সপ্তাহ লেগেছিল, তবে এর পরে আমি একটি মতামত রেখেছি, আমি আর কখনও এমএস অফিস ব্যবহার করব না।
অ্যালেক্সি ভেসিনিন

ওপেনঅফিস অফিসের থেকে অত্যন্ত উচ্চতর কারণ যে 99% লোক লিবারের উপরে অফিস ব্যবহার করবে, সুতরাং বিকাশকারীরা (সম্ভবত এই লোকটির মতো)। এজন্যই আমি ডাউনটিভোট করেছি।
থমাস শেরা

@ থমাসেহেরা ঠিক আছে, আমি মোটেও বুঝতে পারি না - এত দীর্ঘ বছর মাইক্রোসফ্ট ছেলেরা কেন কেবল জিনিসগুলি ঠিক করতে পারে না ? না, কোনও নতুন সামগ্রীর প্রয়োজন নেই, কোনও অ্যাডন নেই - কেবল আপনার পণ্যটিকে আসলে কাজ করে দিন ...
আলেক্সি ভেসিনিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.