I am running Fedora 8 uname -r = 2.6.24.4-64.fc8 on my box with Wine 0.9.58. When I first installed it I noticed that my CPU usage jumped and stayed at 100% with wineserver taking > 85%. I killed the wineserver process and it dropped down, however it soon jumped back up when wineserver restarted itself. I then killed it again and all related processes and disabled it from starting as a damen at boot time. Is there anything that I should be looking for to fix this? Also is there any real advantage of running wineserver all the time as a damen? TIA Scott
On Mon, Apr 28, 2008 at 2:35 PM, Bad2theBone <wineforum-user at winehq.org> wrote:> I am running Fedora 8 uname -r = 2.6.24.4-64.fc8 on my box with Wine 0.9.58. > When I first installed it I noticed that my CPU usage jumped and > stayed at 100% with wineserver taking > 85%.I've seen that, too. If you use strace -p on it, what is it doing? Here's my report: http://winehq.org/pipermail/wine-devel/2008-April/064999.html> I killed the wineserver process and it dropped down, > however it soon jumped back up when wineserver restarted itself.Wineserver is started by wine whenever it's needed.> I then killed it again and all related processes and disabled > it from starting as a damen at boot time.AFAIK, it doesn't start at boot time; not sure what you're talking about. It can't, since it's a per-user daemon. - Dan
Dan Kegel wrote:> On Mon, Apr 28, 2008 at 2:35 PM, Bad2theBone > > I've seen that, too. If you use strace -p on it, what is it doing? > Here's my report: > http://winehq.org/pipermail/wine-devel/2008-April/064999.html > > It appears to do the same. I had installed IEs4Linux which apparently installs it's own copy of wine. I also have the system monitor applet on my top bar (gnome) and as soon as IE6 starts sysmon shows CPU time at 100%. My strace -p looked similar to yours but much longer. I also noticed that all processes remained active even though I closed IE. Doing a ps -ef shows the below statuses: > > scott 7037 1 0 20:39 ? 00:00:00 bash /home/scott/bin/ie6 > scott 7038 7037 25 20:39 ? 00:00:40 /home/scott/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE > scott 7039 7037 0 20:39 ? 00:00:00 bash /home/scott/bin/ie6 > scott 7042 1 53 20:39 ? 00:01:25 /usr/lib/../bin/wineserver > scott 7044 1 0 20:39 ? 00:00:00 C:\windows\system32\wineboot.exe --init > scott 7045 7044 0 20:39 ? 00:00:00 C:\windows\system32\winedevice.exe MountMgr > scott 7049 1 0 20:39 ? 00:00:00 C:\windows\system32\explorer.exe /desktop > > > AFAIK, it doesn't start at boot time; not sure what you're talking about. > It can't, since it's a per-user daemon. > - DanWhen I installed wine I found that it created a process damon in system services gui that was checked and was running. I did not actually check to see if it had setup to restart on reboot. I believe that in the GUI if the service is cheacked it will be auto started on boot.
I just tried running other M$ apps (MSOffice2K) and they seem to be fine, not CPU time eaters, only IE6. Isn't IEs4Linux just a script that installs different IE versions? In other words it won't make a difference if I manually install IE6 through the wine CLI or even IE7?
I figured I'd try dtrace for a change, since I have it here. Running it for a few seconds results in this: Code: hyperborea:~ > pfexec dtrace -n 'pid712:::entry { @n[probefunc] = count(); }' dtrace: description 'pid712:::entry ' matched 6880 probes ^C _bufsync 1 _dowrite 1 _flsbuf 1 _morecore 1 periodic_save 1 putc_unlocked 1 set_periodic_save_timer 1 __cerror 2 __fcntl_syscall 2 _brk_unlocked 2 _fflush_u 2 _findbuf 2 _findiop 2 _sbrk_unlocked 2 _setbufend 2 _setorientation 2 _wrtchk 2 abandon_mutexes 2 close_handle 2 debug_exit_thread 2 destroy_thread 2 fchdir 2 fclose 2 fcntl 2 fdopen 2 free_ptid 2 generate_debug_event 2 getpid 2 ioctl 2 isatty 2 isseekable 2 kill_console_processes 2 kill_thread 2 lmutex_lock 2 lmutex_unlock 2 lstat64 2 remove_process_thread 2 rename 2 req_close_handle 2 s_fcntl 2 save_all_subkeys 2 sbrk 2 strcpy 2 strrchr 2 save_branch 3 __open64_syscall 4 _private_open64 4 cleanup_clipboard_thread 4 cleanup_thread 4 close_thread_desktop 4 destroy_thread_windows 4 free_msg_queue 4 fstat64 4 get_process_winstation 4 open64 4 remove_thread_hooks 4 fd_destroy 6 clear_apc_queue 8 getiop 8 ___errno 10 _aio_close 10 _private_close 10 close 10 expose_window 11 get_class_atom 11 rect_in_region 11 req_get_window_info 11 req_set_window_pos 11 union_region 11 xor_region 11 create_region_from_req_data 12 _xflsbuf 14 remove_timeout_user 16 free_async_queue 18 clip_children 22 get_ptid_entry 22 get_thread_from_id 22 req_get_thread_input 22 get_child_update_flags 23 link_timer 27 msg_queue_add_queue 27 msg_queue_remove_queue 27 msg_queue_satisfied 27 reset_event 27 set_event 27 timer_callback 27 find_window_to_repaint 33 get_desktop_window 33 subtract_non_overlapping 33 req_redraw_window 34 release_hook_chain 44 req_finish_hook_chain 44 req_get_hook_info 44 req_start_hook_chain 44 redraw_window 45 validate_whole_window 45 check_fd_events 54 msg_queue_signaled 54 set_next_timer 54 copy_region 56 wake_up 56 get_tick_count 60 subtract_overlapping 66 subtract_region 66 crop_region_to_win_rect 79 next_user_handle 80 make_clean 84 req_get_message 87 inc_queue_paint_count 90 thread_timeout 98 set_update_region 101 set_fd_events 108 req_get_window_children 110 set_reply_data_size 110 req_get_visible_region 111 get_update_flags 112 req_set_caret_info 112 req_select 123 req_get_update_region 124 end_wait 125 send_thread_wakeup 125 wake_thread 125 get_active_hooks 131 get_visible_region 133 add_timeout_user 140 check_wait 150 get_region_data_and_free 156 find_child_to_repaint 176 get_user_full_handle 199 req_get_window_property 200 get_queue_hooks 219 get_global_hooks 223 get_desktop_obj 256 get_thread_desktop 256 __writev 266 writev 266 free_region 301 is_visible 302 t_splay 359 create_empty_region 445 t_delete 457 intersect_overlapping 499 intersect_region 499 sprintf 525 coalesce_region 532 region_op 565 set_region_extents 577 set_region_client_rect 610 is_region_empty 643 req_set_window_info 682 set_region_rect 698 offset_region 889 _smalloc 1097 cleanfree 1345 get_user_object 1350 handle_to_entry 1437 realfree 1563 __write 1634 write 1634 is_hook_active 1683 call_req_handler 1761 read_request 1761 thread_poll_event 1763 mem_alloc 1852 memset 1862 __read 1907 read 1907 _malloc_unlocked 2002 malloc 2002 _free_unlocked 3529 free 3529 mutex_lock 5531 mutex_lock_impl 5531 mutex_unlock 5531 event_signaled 6144 add_queue 6171 remove_queue 6173 get_handle_obj 6431 get_handle 6433 save_subkeys 8488 dump_value 14151 fputc 28086 putc 28086 fprintf 32571 _realbufend 32588 getxfdat 32590 _ndoprnt 33096 dump_path 43652 memcpy 51934 dump_strW 64130 ferror 65667 fwrite 119223 _fwrite_unlocked 119224 __so_recvmsg 516960 _so_recvmsg 516960 kill_process 516960 receive_fd 516960 recvmsg 516960 gettimeofday 516961 process_poll_event 516961 __pollsys 517015 _pollsys 517015 poll 517015 __divdi3 517021 get_fd_user 518723 get_unix_fd 520753 grab_object 529576 release_object 529591